本文将为您介绍如何使用 TPC-H(商业智能计算测试)对腾讯云数据仓库 TCHouse-D 进行性能测试,以测试16核集群在100 GB数据集下的 TPC-H 查询性能为例,给出参考测试方案。
关于 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 1.2.7
测试脚本准备
TPC-H 100G数据测试
生成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.shq1: 2103q2: 305q3: 792q4: 516q5: 1036q6: 60q7: 493q8: 954q9: 4411q10: 870q11: 183q12: 1847q13: 2886q14: 165q15: 255q16: 398q17: 520q18: 1665q19: 468q20: 347q21: 1741q22: 412total time: 22427 ms
由此,即完成了针对100 GB数据集场景下的 TCP-H 数据生成、建表、导入和查询。