一、关于 TPC-H 性能测试
TPC-H 是一个决策支持基准(Decision Support Benchmark),它由一套面向业务的临时查询和并发数据修改组成,其查询和填充数据库的数据具有广泛的行业相关性。该基准测试展示了决策支持系统在检查大量数据、执行高度复杂的查询以及解答关键业务问题的能力。 TPC-H 报告的性能指标称为 TPC-H Composite Query-per-Hour Performance Metric (QphH@Size),能够反映系统处理查询的多种能力。
注意:说明:
注意:TPC-H 模拟了一套销售系统的数据仓库。其共包含8张表,数据量可设定从1 GB~3 TB不等。其基准测试共包含了22个查询,主要评价指标为各查询的响应时间,即从提交查询到结果返回所需的时间。TPC-H 测试结果可以综合反映系统处理查询时的能力。
二、硬件环境
在这篇给出的参考方案中,所测试的集群包含 FE 1台、BE 3台 , FE/BE 节点进程均为单独部署,具体规格如下所示。需要特别说明的是,实际测试中不会消耗如此多的硬件资源。
| 节点类型 | 节点规格 |
| FE 1台 标准型 | CPU:4 cores 内存:16 GB 磁盘:增强型SSD云硬盘200 GB |
| BE 3台 标准型 | CPU:16 cores 内存:64 GB 磁盘:增强型SSD云硬盘1000 GB |
三、软件版本
腾讯云 TChouse-D 2.1.9
四、测试脚本准备
从工具包地址下载 TPC-H 工具包并编译
五、生成100G数据集
sh gen-tpch-data.sh -s 100 -c 10
所生成的数据如下表所示:
| TPC-H 表名 | 行数 | 备注 |
| REGION | 5 | 区域表 |
| NATION | 25 | 国家表 |
| SUPPLIER | 100万 | 供应商表 |
| PART | 2000万 | 零部件表 |
| PARTSUPP | 8000万 | 零部件供应表 |
| CUSTOMER | 1500万 | 客户表 |
| ORDERS | 1.5亿 | 订单表 |
| LINEITEM | 6亿 | 订单明细表 |
六、建表
修改 doris-cluster.conf 配置文件。
修改配置:FE_HOST、PASSWORD、DB。
# cat doris-cluster.conf# Any of FE hostexport FE_HOST='127.0.0.1'# http_port in fe.confexport FE_HTTP_PORT=8030# query_port in fe.confexport FE_QUERY_PORT=9030# Doris usernameexport USER='root'# Doris passwordexport PASSWORD=''# The database where TPC-H tables locatedexport DB='tpch_100g_decimalv3'# The scale of testing dataexport SCALE='100g' # only support '100g' or '1t'
建表:
sh create-tpch-tables.sh
七、导入数据
sh load-tpch-data.shMySQL [tpch100g]> show data;+———–+————-+————–+| TableName | Size | ReplicaCount |+———–+————-+————–+| customer | 1.317 GB | 24 || lineitem | 20.880 GB | 96 || nation | 2.571 KB | 1 || orders | 6.302 GB | 96 || part | 752.470 MB | 24 || partsupp | 4.375 GB | 24 || region | 1.090 KB | 1 || supplier | 85.528 MB | 12 || Total | 33.693 GB | 278 || Quota | 1024.000 TB | 1073741824 || Left | 1023.967 TB | 1073741546 |+———–+————-+————–+11 rows in set (0.00 sec)
八、查询
[root@9 tpch-tools]# sh bin/run-tpch-queries.sh
由此,即完成了针对100 GB数据集场景下的 TCP-H 数据生成、建表、导入和查询。