TPC-H 是美国交易处理效能委员会 TPC(Transaction Processing Performance Council)组织制定的用来模拟决策支持类应用的测试集。它包括一整套面向业务的 ad-hoc 查询和并发数据修改。
TPC-H 根据真实的生产运行环境来建模,模拟了一套销售系统的数据仓库。该测试共包含 8 张表,数据量可设定从 1 GB~3 TB不等。其基准测试共包含了 22 个查询,主要评价指标为各个查询的响应时间,即从提交查询到结果返回所需时间。
本文将为您介绍在火山引擎 EMR Serverless StarRocks 实例中执行 TPC-H 基准测试的详细操作流程。
创建 Serverless StarRocks 实例参考文档:创建实例
将测试工具上传至计划执行位置,执行位置建议如下:
建议:上传至与Serverless 实例同一VPC下,网络互通的火山引擎ECS中的工作目录下。
不建议:通过公网IP连接StarRocks执行性能测试,会涉及大量测试数据传输,网络开销大。
解压测试工具。
tar -xvf tpch-tools-starrocks.tar.gz
cd tpch-tools-starrocks ./bin/build-tpch-dbgen.sh
vim ./conf/starrocks-cluster.conf
配置项说明如下:
配置项 | 默认值 | 建议配置 | 说明 |
---|---|---|---|
FE_HOST | 127.0.0.1 | 见下方描述 | StarRocks FE连接地址 |
FE_HTTP_PORT | 8030 | 8030 | StarRocks FE HTTP端口 |
FE_QUERY_PORT | 9030 | 9030 | StarRocks FE 查询端口 |
USER | root | 见下方描述 | StarRocks 用户 |
PASSWORD | 空 | 见下方描述 | StarRocks 用户密码 |
DB | tpch | tpch | StarRocks TPC-H 执行目标数据库 |
建议配置如下:
FE_HOST:使用实例详情页-内网地址中表示的域名/IP。
USER&PASSWORD:参考 用户管理 创建对应的引擎用户,填入其名称与密码。
{scale_factor} 表示数据规模,可填写 1、100、1000、10000
生成时间较长,建议后台不中断运行。
nohup ./bin/gen-tpch-data.sh -s {scale_factor} &
{scale_factor} 表示数据规模,对应生成数据时填写的数据规模,可填写 1、100、1000、10000
测试工具会根据第2步中修改的配置文件信息去连接引擎。
./bin/create-tpch-tables.sh -s {scale_factor}
nohup ./bin/load-tpch-data.sh &
{scale_factor} 表示数据规模,对应生成数据时填写的数据规模,可填写 1、100、1000、10000
默认会对每个SQL执行3轮,输出最优性能结果。
nohup ./bin/run-tpch-queries.sh -s {scale_factor} &