测试方案介绍

最近更新时间:2024-07-04 17:00:11

我的收藏
本文将为您介绍如何使用 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 工具包并编译

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 host
export FE_HOST='127.0.0.1'
# http_port in fe.conf
export FE_HTTP_PORT=8030
# query_port in fe.conf
export FE_QUERY_PORT=9030
# Doris username
export USER='root'
# Doris password
export PASSWORD=''
# The database where TPC-H tables located
export DB='tpch_100g_decimalv3'
# The scale of testing data
export SCALE='100g' # only support '100g' or '1t'
建表:
sh create-tpch-tables.sh

导入数据

sh load-tpch-data.sh


MySQL [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
q1: 2103
q2: 305
q3: 792
q4: 516
q5: 1036
q6: 60
q7: 493
q8: 954
q9: 4411
q10: 870
q11: 183
q12: 1847
q13: 2886
q14: 165
q15: 255
q16: 398
q17: 520
q18: 1665
q19: 468
q20: 347
q21: 1741
q22: 412
total time: 22427 ms
由此,即完成了针对100 GB数据集场景下的 TCP-H 数据生成、建表、导入和查询。