基准驱动

基准驱动可用于测量openLooKeng集群中查询的性能。我们用它来连续测量主干的性能。

Maven Central下载合适版本的基准驱动可执行Jar文件,例如presto-benchmark-driver-1.0.1-executable.jar,重命名为presto-benchmark-driver后,使用chmod +x使其可执行。如果预期版本不存在,可以使用1.0.1

套件

创建suite.json文件:

{
    "file_formats": {
        "query": ["single_.*", "tpch_.*"],
        "schema": [ "tpch_sf(?<scale>.*)_(?<format>.*)_(?<compression>.*?)" ],
        "session": {}
    },
    "legacy_orc": {
        "query": ["single_.*", "tpch_.*"],
        "schema": [ "tpch_sf(?<scale>.*)_(?<format>orc)_(?<compression>.*?)" ],
        "session": {
            "hive.optimized_reader_enabled": "false"
        }
    }
}

此示例包含两个套件file_formatslegacy_orcfile_formats套件将在与正则表达式tpch_sf.*_.*_.*?匹配的所有模式中运行名称与正则表达式single_.*tpch_.*匹配的查询。legacy_orc套件添加了一个会话属性来禁用优化的ORC阅读器,并且只在tpch_sf.*_orc_.*?模式中运行。

查询

SQL文件包含在名为sql的目录中,并且必须具有.sql文件扩展名。查询的名称是不带扩展名的文件名。

输出

基准驱动将测量挂钟时间、所有openLooKeng进程使用的CPU总时间以及查询使用的CPU时间。对于每次计时,驱动报告查询运行的中位数、平均值和标准偏差。进程CPU时间和查询CPU时间之差是查询开销,这通常是垃圾收集器造成的。下面是上述file_formats套件的输出:

suite        query          compression format scale wallTimeP50 wallTimeMean wallTimeStd processCpuTimeP50 processCpuTimeMean processCpuTimeStd queryCpuTimeP50 queryCpuTimeMean queryCpuTimeStd
============ ============== =========== ====== ===== =========== ============ =========== ================= ================== ================= =============== ================ ===============
file_formats single_varchar none        orc    100   597         642          101         100840            97180              6373              98296           94610            6628
file_formats single_bigint  none        orc    100   238         242          12          33930             34050              697               32452           32417            460
file_formats single_varchar snappy      orc    100   530         525          14          99440             101320             7713              97317           99139            7682
file_formats single_bigint  snappy      orc    100   218         238          35          34650             34606              83                33198           33188            83
file_formats single_varchar zlib        orc    100   547         543          38          105680            103373             4038              103029          101021           3773
file_formats single_bigint  zlib        orc    100   282         269          23          38990             39030              282               37574           37496            156

请注意,上面的输出已重新格式化,以提高驱动输出的标准TSV的可读性。

驱动可以通过从模式名或SQL文件中提取值来向输出中添加额外的列。在上述套件文件中,架构名称包含compressionformatscale的命名正则表达式捕获组,因此如果我们在一个包含模式 tpch_sf100_orc_nonetpch_sf100_orc_snappy、 和 tpch_sf100_orc_zlib 的目录中运行查询,我们得到上面的输出。

创建其他输出列的另一种方法是向SQL文件添加标记。例如,下面的SQL文件中声明了两个标签projectionfilter

projection=true
filter=false
=================
SELECT SUM(LENGTH(comment))
FROM lineitem

这将导致驱动为每次运行此查询输出这些值。

CLI参数

presto-benchmark-driver程序包含许多CLI参数,用于控制运行哪个套件和查询、预热运行的数量和测量运行的数量。通过--help选项可以看到所有的命令行参数。

有奖捉虫

“有虫”文档片段

0/500

存在的问题

文档存在风险与错误

● 拼写,格式,无效链接等错误;

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 版本号不匹配:文档版本或内容描述和实际软件不一致;

● 对重要数据或系统存在风险的操作,缺少安全提示;

● 排版不美观,影响阅读;

内容描述不清晰

● 描述存在歧义;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

内容获取有困难

● 很难通过搜索引擎,openLooKeng官网,相关博客找到所需内容;

示例代码错误

● 命令、命令参数等错误;

● 命令无法执行或无法完成对应功能;

内容有缺失

● 关键步骤错误或缺失,无法指导用户完成任务,比如安装、配置、部署等;

● 逻辑不清晰,该分类、分项、分步骤的没有给出

● 图形、表格、文字等晦涩难懂

● 缺少必要的前提条件、注意事项等;

● 描述存在歧义

0/500

您对文档的总体满意度

非常不满意
非常满意

请问是什么原因让您参与到这个问题中

您的邮箱

创Issue赢奖品
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
有奖捉虫