行业知识
Doris、StarRocks 压测对比
先说结论:
0、本次测试,未调优二者的参数,开箱起服务,直接测试的,部署架构一致。
1、在单表查询下,StarRocks 在部分场景下优于Doris,但是二次查询,二者不分伯仲。
2、在多表查询下,仅在一个场景下Doris速度逊于StarRocks ,大部分场景是Doris优于StarRocks的。
3、在cpu和内存的使用上,doris会比starrocks多吃1.5倍的资源。
压测试验:
1、基础环境
| 组件 | cpu | 内存 | Cpu架构 | 磁盘存储 |
| Doris | 8C | 16G | x86_64 | 492G |
| 8C | 16G | x86_64 | 492G | |
| 8C | 16G | x86_64 | 492G | |
| 8C | 16G | x86_64 | 492G | |
| 8C | 16G | x86_64 | 492G | |
| StarRocks | 8C | 16G | x86_64 | 492G |
| 8C | 16G | x86_64 | 492G | |
| 8C | 16G | x86_64 | 492G | |
| 8C | 16G | x86_64 | 492G | |
| 8C | 16G | x86_64 | 492G |
2、版本
Doris-2.0.5 (2024 年 2 月 27 日 发 布)
StarRocks-3.2.3(2024 年 2 月 8 日 发 布)
Release 2.0.5 - Apache Doris
StarRocks version 3.2 | StarRocks
3、压测工具
(1)下载doris的ssb-tools
GitHub - apache/doris: Apache Doris is an easy-to-use, high performance and unified analytics database.
使用doris-master\tools\ssb-tools下的压测脚本
(2)编译脚本
./build-ssb-dbgen.sh
(3)生成测试数据
./gen-ssb-data.sh -s 40
(4)修改配置信息
./conf/doris-cluster.conf
(5)创建表并导入数据
创建表:./create-ssb-tables.sh
导入数据:./load-ssb-data.sh
| 表名 | 行数 | 解释 |
| lineorder | 2400万 | SSB商品订单表 |
| customer | 120万 | SSB客户表 |
| part | 120万 | SSB 零部件表 |
| supplier | 8万 | SSB 供应商表 |
| dates | 2556 | 日期表 |
| lineorder_flat | 2400万 | SSB打平后的宽表 |
4、查询测试
通过单表、多表的sql查询
(1)doris-2.0.5
doris单表:
| 序号 | 首次 | 多次 |
| Q1.1 | 0.59 | 0.03 |
| Q1.2 | 0.19 | 0.02 |
| Q1.3 | 0.08 | 0.03 |
| Q2.1 | 8.15 | 0.08 |
| Q2.2 | 0.08 | 0.08 |
| Q2.3 | 0.06 | 0.06 |
| Q3.1 | 2.45 | 0.14 |
| Q3.2 | 2.55 | 0.08 |
| Q3.3 | 0.09 | 0.06 |
| Q3.4 | 0.02 | 0.02 |
| Q4.1 | 0.89 | 0.13 |
| Q4.2 | 0.08 | 0.05 |
| Q4.3 | 0.05 | 0.04 |
doris多表
| 序号 | 首次 | 多次 |
| Q1.1 | 0.96 | 0.04 |
| Q1.2 | 0.85 | 0.03 |
| Q1.3 | 0.03 | 0.02 |
| Q2.1 | 3.8 | 0.16 |
| Q2.2 | 0.14 | 0.13 |
| Q2.3 | 0.13 | 0.12 |
| Q3.1 | 0.64 | 0.34 |
| Q3.2 | 0.14 | 0.13 |
| Q3.3 | 0.14 | 0.14 |
| Q3.4 | 0.05 | 0.05 |
| Q4.1 | 0.43 | 0.33 |
| Q4.2 | 0.16 | 0.15 |
| Q4.3 | 0.14 | 0.12 |
(2)starrocks-3.2.3
starrocks单表
| 序号 | 首次 | 多次 |
| Q1.1 | 0.13 | 0.03 |
| Q1.2 | 0.05 | 0.02 |
| Q1.3 | 0.06 | 0.02 |
| Q2.1 | 1.2 | 0.13 |
| Q2.2 | 0.11 | 0.11 |
| Q2.3 | 0.06 | 0.06 |
| Q3.1 | 0.53 | 0.13 |
| Q3.2 | 0.32 | 0.09 |
| Q3.3 | 0.1 | 0.09 |
| Q3.4 | 0.03 | 0.02 |
| Q4.1 | 0.4 | 0.15 |
| Q4.2 | 0.1 | 0.06 |
| Q4.3 | 0.07 | 0.04 |
starrocks多表
| 首次 | 多次 | |
| Q1.1 | 0.34 | 0.04 |
| Q1.2 | 0.32 | 0.03 |
| Q1.3 | 0.27 | 0.03 |
| Q2.1 | 2.46 | 0.26 |
| Q2.2 | 0.24 | 0.21 |
| Q2.3 | 0.43 | 0.19 |
| Q3.1 | 0.49 | 0.32 |
| Q3.2 | 0.26 | 0.22 |
| Q3.3 | 0.17 | 0.16 |
| Q3.4 | 0.07 | 0.05 |
| Q4.1 | 0.52 | 0.44 |
| Q4.2 | 0.2 | 0.18 |
| Q4.3 | 0.15 | 0.13 |
5、对比:
(1)单表对比
| 序号 | doris首次 | doris多次 | star首次 | star多次 |
| Q1.1 | 0.59 | 0.03 | 0.1 | 0.04 |
| Q1.2 | 0.19 | 0.02 | 0.04 | 0.04 |
| Q1.3 | 0.08 | 0.03 | 0.08 | 0.03 |
| Q2.1 | 8.15 | 0.08 | 0.42 | 0.12 |
| Q2.2 | 0.08 | 0.08 | 0.13 | 0.12 |
| Q2.3 | 0.06 | 0.06 | 0.07 | 0.06 |
| Q3.1 | 2.45 | 0.14 | 0.31 | 0.16 |
| Q3.2 | 2.55 | 0.08 | 0.18 | 0.09 |
| Q3.3 | 0.09 | 0.06 | 0.11 | 0.09 |
| Q3.4 | 0.02 | 0.02 | 0.03 | 0.03 |
| Q4.1 | 0.89 | 0.13 | 0.33 | 0.2 |
| Q4.2 | 0.08 | 0.05 | 0.1 | 0.08 |
| Q4.3 | 0.05 | 0.04 | 0.07 | 0.04 |
(2)多表对比
| 序号 | doris首次 | doris多次 | star首次 | star多次 |
| Q1.1 | 0.96 | 0.04 | 0.1 | 0.05 |
| Q1.2 | 0.85 | 0.03 | 0.08 | 0.04 |
| Q1.3 | 0.03 | 0.02 | 0.04 | 0.04 |
| Q2.1 | 3.8 | 0.16 | 0.41 | 0.26 |
| Q2.2 | 0.14 | 0.13 | 0.22 | 0.2 |
| Q2.3 | 0.13 | 0.12 | 0.21 | 0.19 |
| Q3.1 | 0.64 | 0.34 | 0.38 | 0.32 |
| Q3.2 | 0.14 | 0.13 | 0.26 | 0.22 |
| Q3.3 | 0.14 | 0.14 | 0.38 | 0.16 |
| Q3.4 | 0.05 | 0.05 | 0.1 | 0.06 |
| Q4.1 | 0.43 | 0.33 | 0.49 | 0.42 |
| Q4.2 | 0.16 | 0.15 | 0.22 | 0.18 |
| Q4.3 | 0.14 | 0.12 | 0.15 | 0.13 |
6、cpu、内存使用情况
(1)starrocks
(2)doris
7、测试使用到的sql
--Q1.1SELECT sum(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenueFROM lineorder_flatWHERE LO_ORDERDATE >= 19930101 and LO_ORDERDATE = 19940101 and LO_ORDERDATE = 19940101 and LO_ORDERDATE = 'MFGR#2221' AND P_BRAND = 19920101 AND LO_ORDERDATE = 19920101 AND LO_ORDERDATE = 19920101 AND LO_ORDERDATE = 19971201 AND LO_ORDERDATE = 19970101 and LO_ORDERDATE = 19970101 and LO_ORDERDATE = 1992 and d_year = 1992 and d_year = 1992 and d_year
上一篇:原始传奇服务器怎么买?