测试背景
利用clickhouse的clickbench测试数据与查询SQL对A产品进行了性能测试,所有的测试方法均与其他clickbench上的其他产品一致。预期将A产品的测试结果与其他数据库产品进行对比,寻找出性能差异,便于后期产品进行性能优化,并清楚当前A产品若打榜存在的优劣势。
测试环境
类型 | 资源规格(CPU/MEM/DISK) | IP地址 | ||
---|---|---|---|---|
A产品 | RC | 16C/24G/100G | 192.168.32.40 | |
worker1 | 16C/64G/300G | 192.168.32.41 | ||
worker2 | 16C/64G/300G | 192.168.32.42 | ||
Doris | 16C/64G/500G | |||
(1)clickbench上的打榜配置; | ||||
(2)cluster_size:1 | ||||
具体的详情结果均可查看打榜平台 |
测试结论
Doris的查询性能总体优于A产品。详细的数据见下面分析:
注:Doris直接取的结果是clickbench打榜上的测试数据
cold run总耗时(s) | hot run总耗时(s) | |
---|---|---|
A产品 | 299.65 | 109.48 |
Doris | 130.42 | 40.55 |
- 如上数据所示,Doris的hot run性能提升比A产品更明显。
- 【A产品】hot run比cold run查询性能快2.73倍
- 【Doris】hot run比cold run查询性能快3.21倍
- 无论是cold run还是hot run,Doris的性能均优于A产品
- 【cold run】Doris比A产品快2.29倍
- 【hot run】Doris比A产品快2.69倍
- 所有的导入数据需采用load data方式,由于A产品在load data数据导入中报错,此bug未解决,因此采用了minio的方式导入,由于A产品与Doris的导入方式不同,因此本次不进行导入数据的耗时对比。
【cold run】A产品对比Doris
【hot run对比】A产品对比Doris
测试流程
1、创建hits表:见create_table.sql
2、下载hit数据:https://datasets.clickhouse.com/hits_compatible/hits.csv.gz
3、对下载的数据进行处理
(1)总数据大小76G,切割文件为小文件:split -a3 -l 10000000 -d hits.csv ./hits/hits-
(2)将下载数据进行处理,有些数据中包含转义字符,导致导入数据报错,需要进行处理:sed ‘s/NH^\/NH/g’ hits-001 >./hits-0001(注:根据拆分的小文件,每个都进行数据处理)
(3)将处理好的数据导入到minio中,利用外表来导入数据:192.168.30.71目录/home/minio/data/clickbench
4、创建外表hits-0000等。见minio_create_table.sql,并查看数据是否在外表中写入成功,每个执行一次select count(*);
5、执行外表中的数据导入到hits表:见load_data.sql
6、校验hits表中的数据已全部写入成功
7、执行43条query查询,观察耗时结果
测试脚本
create_table.sql
minio_create_table.sql
query.sql
load_data.sql
测试结果
A产品
cold run | hot run | ||||
---|---|---|---|---|---|
第一次 | 第二次 | 第三次 | 第四次 | hot run(min) | |
Q0 | 0.18 | 0.109 | 0.08 | 0.072 | 0.07 |
Q1 | 0.81 | 0.434 | 0.434 | 0.424 | 0.42 |
Q2 | 1.50 | 0.914 | 0.696 | 0.874 | 0.70 |
Q3 | 0.62 | 0.484 | 0.374 | 0.389 | 0.37 |
Q4 | 6.11 | 5.418 | 5.855 | 5.842 | 5.42 |
Q5 | 9.74 | 5.471 | 7.278 | 6.647 | 5.47 |
Q6 | 1.03 | 0.991 | 0.707 | 0.806 | 0.71 |
Q7 | 0.43 | 0.37 | 0.511 | 0.43 | 0.37 |
Q8 | 10.74 | 1.476 | 9.923 | 0.671 | 0.67 |
Q9 | 17.46 | 4.253 | 7.058 | 4.249 | 4.25 |
Q10 | 2.05 | 1.091 | 0.976 | 0.935 | 0.94 |
Q11 | 1.52 | 1.078 | 1.038 | 0.991 | 0.99 |
Q12 | 4.38 | 3.287 | 3.337 | 2.926 | 2.93 |
Q13 | 7.21 | 6.432 | 6.652 | 6.872 | 6.43 |
Q14 | 4.05 | 3.629 | 3.743 | 3.621 | 3.62 |
Q15 | 6.44 | 6.612 | 7.694 | 6.709 | 6.61 |
Q16 | 9.98 | 0.037 | 0.358 | 0.402 | 0.04 |
Q17 | 11.03 | 9.583 | 9.853 | 8.845 | 8.85 |
Q18 | 15.87 | 6.852 | 4.69 | 5.37 | 4.69 |
Q19 | 0.09 | 0.059 | 0.062 | 0.059 | 0.06 |
Q20 | 10.43 | 0.093 | 0.072 | 0.093 | 0.07 |
Q21 | 5.71 | 0.807 | 0.603 | 0.396 | 0.40 |
Q22 | 17.87 | 2.283 | 2.211 | 2.061 | 2.06 |
Q23 | 13.27 | 6.303 | 6.372 | 7.266 | 6.30 |
Q24 | 1.60 | 0.938 | 0.799 | 0.612 | 0.61 |
Q25 | 1.27 | 0.673 | 0.836 | 0.828 | 0.67 |
Q26 | 0.92 | 1.003 | 0.658 | 0.775 | 0.66 |
Q27 | 3.71 | 4.517 | 3.257 | 3.009 | 3.01 |
Q28 | 18.83 | 7.391 | 7.779 | 6.561 | 6.56 |
Q29 | 11.14 | 8.389 | 8.535 | 7.852 | 7.85 |
Q30 | 2.98 | 2.642 | 2.543 | 2.816 | 2.54 |
Q31 | 3.32 | 3.392 | 3.406 | 3.346 | 3.35 |
Q32 | 21.80 | 1.595 | 1.81 | 2.342 | 1.60 |
Q33 | 24.96 | 7.29 | 7.326 | 6.87 | 6.87 |
Q34 | 28.82 | 5.896 | 7.571 | 5.19 | 5.19 |
Q35 | 11.51 | 0.34 | 0.064 | 0.076 | 0.06 |
Q36 | 2.59 | 2.335 | 2.201 | 2.304 | 2.20 |
Q37 | 2.30 | 2.259 | 2.202 | 2.142 | 2.14 |
Q38 | 0.73 | 0.921 | 0.305 | 0.325 | 0.31 |
Q39 | 2.68 | 2.471 | 2.416 | 2.356 | 2.36 |
Q40 | 0.51 | 0.583 | 0.411 | 0.417 | 0.41 |
Q41 | 0.51 | 0.447 | 0.448 | 0.445 | 0.45 |
Q42 | 0.96 | 1.121 | 0.241 | 0.211 | 0.21 |
299.65 | 122.269 | 133.385 | 115.427 | 109.48 |
Doris
cold run | hot run | ||
---|---|---|---|
Q0 | 0.07 | 0.03 | 0.03 |
Q1 | 0.13 | 0.04 | 0.04 |
Q2 | 0.11 | 0.04 | 0.03 |
Q3 | 1.12 | 0.04 | 0.06 |
Q4 | 1.06 | 1.06 | 1.05 |
Q5 | 0.85 | 0.78 | 0.76 |
Q6 | 0.01 | 0.02 | 0.02 |
Q7 | 0.04 | 0.03 | 0.03 |
Q8 | 0.57 | 0.56 | 0.54 |
Q9 | 0.61 | 0.61 | 0.63 |
Q10 | 0.16 | 0.11 | 0.11 |
Q11 | 0.15 | 0.13 | 0.13 |
Q12 | 0.59 | 0.58 | 0.58 |
Q13 | 0.89 | 0.91 | 0.88 |
Q14 | 0.79 | 0.77 | 0.77 |
Q15 | 0.37 | 0.37 | 0.38 |
Q16 | 1.09 | 1.07 | 1.09 |
Q17 | 0.26 | 0.26 | 0.30 |
Q18 | 2.10 | 2.02 | 2.04 |
Q19 | 0.03 | 0.01 | 0.02 |
Q20 | 10.82 | 1.14 | 1.14 |
Q21 | 9.00 | 2.87 | 0.94 |
Q22 | 12.17 | 1.29 | 0.98 |
Q23 | 32.09 | 2.35 | 2.27 |
Q24 | 1.28 | 0.13 | 0.14 |
Q25 | 0.12 | 0.13 | 0.12 |
Q26 | 0.14 | 0.15 | 0.14 |
Q27 | 10.55 | 1.19 | 1.18 |
Q28 | 10.04 | 9.56 | 9.52 |
Q29 | 0.71 | 0.72 | 0.65 |
Q30 | 1.84 | 0.44 | 0.42 |
Q31 | 2.13 | 0.50 | 0.51 |
Q32 | 3.17 | 3.16 | 3.37 |
Q33 | 12.00 | 4.40 | 4.51 |
Q34 | 11.83 | 4.46 | 4.27 |
Q35 | 1.16 | 1.11 | 1.12 |
Q36 | 0.07 | 0.05 | 0.05 |
Q37 | 0.03 | 0.02 | 0.02 |
Q38 | 0.02 | 0.02 | 0.02 |
Q39 | 0.15 | 0.14 | 0.12 |
Q40 | 0.04 | 0.02 | 0.02 |
Q41 | 0.03 | 0.02 | 0.02 |
Q42 | 0.03 | 0.02 | 0.02 |
130.42 | 43.33 | 41.04 |
测试记录
数据量为76G,单表105列,对单表进行查询(43个query),总行数89998010行,