测试目的及重点
本测试旨在测试天翼云翼MapReduce服务下Doris引擎的SQL性能,对比翼MapReduce中Doris基于ARM架构下的优化版本和开源社区2.1.2版本的性能。重点为运行TPC-H测试的22个Query,获取运行时间,时间越少,性能越好。
Doris主要两类进程:
Frontend(FE):主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。以下统称Doris FE。
Backend(BE):主要负责数据存储、查询计划的执行。以下统称Doris BE。
集群环境
服务器规格:
Processors: HiSilicon Kunpeng-920 aarch64 2.6 GHz*96
Memory: 128GB(32GB*4)
Storage Device:
446GB * 1(Boot Disk)
7.3TB * 10(Data Disk)
集群规模:
服务器 * 4 (Doris FE:1台、Doris BE:3台)
Doris配置及使用资源
本次测试Doris配置与开源社区2.1.2保持一致。以下表格为部分关键配置。
Doris FE | Doris BE |
---|---|
JAVA_OPTS=-Xss4m -Xmx8192m experimental_enable_nereids_planner =true experimental_enable_pipeline_engine=true experimental_enable_pipeline_x_engine=true |
JAVA_OPTS=-Xmx8192m disable_storage_page_cache=true enable_feature_binlog = true |
测试步骤
整体测试步骤,包括:准备测试工具、生成数据与测试语句、导入Doris中的tpch数据库并验证数据量、执行测试。相关测试命令已集成在脚本中,以下介绍测试步骤中出现的命令,是从脚本中提取的部分核心命令。
准备测试工具
上传CPU架构对应版本的tools.tar。tools.tar为Doirs官网Benchmark测试工具集,集成了TPC-H测试工具,本测试的版本为:TPC-H_Tools_v3.0.0。 Tools需要在Doris FE所在机器使用,并已配置环境变量。
生成数据与测试语句
解压tar包,进入tpch目录,生成500G数据。本测试所有操作都在tpch-tools目录下,相关的脚步在bin目录下,运行gen-tpch-data.sh可以生成测试数据及语句。
tar -xvf tools.tar
cd tools/tpch-tools
nohup sh bin/gen-tpch-data.sh -s 500 > output.generate.500G.log 2>&1 &
生成的22条Query语句在如下目录:
导入Doris tpch库并验证数据量
通过脚本将生成的数据导入到Doris tpch的库中。测试库中有表8张: customer、lineitem nation orders part partsupp region revenue0 supplier 和视图一张: revenue0。
-
创建tpch库和表
sh bin/create-tpch-tables.sh
-
导入tpch数据
nohup /bin/bash bin/load-tpch-data.sh > output.load.500G.log 2>&1 &
-
查看相关表的状态
执行测试脚本
运行数据量为500GB的tpch查询测试。
bin/bash bin/run-tpch-queries.sh
测试结果
查询名 | 开源版本(单位:毫秒) | 天翼云翼MapReduce版本(单位:毫秒) |
---|---|---|
q1 | 6239 | 5278 |
q2 | 575 | 418 |
q3 | 5780 | 4079 |
q4 | 3502 | 2519 |
q5 | 8456 | 6938 |
q6 | 916 | 352 |
q7 | 4347 | 3439 |
q8 | 4326 | 2230 |
q9 | 15572 | 12559 |
q10 | 6642 | 5327 |
q11 | 745 | 524 |
q12 | 1482 | 800 |
q13 | 6297 | 5160 |
q14 | 591 | 551 |
q15 | 988 | 942 |
q16 | 1146 | 1072 |
q17 | 2316 | 1106 |
q18 | 16009 | 15025 |
q19 | 3839 | 1653 |
q20 | 1912 | 1379 |
q21 | 9592 | 6986 |
q22 | 1444 | 1266 |
总耗时 | 102716 | 79603 |
测试结论
通过在500GB数据量的TPC-H的对比测试,翼MapReduce中Doris基于ARM架构下的优化版本耗时79603毫秒,Doris开源社区2.1.2版本耗时102716毫秒。翼MapReduce中Doris基于ARM架构下的优化版本相比于Doris开源社区2.1.2版本性能提升1.29倍。