基于标准测试集的测试说明
本文旨在展示云原生数据仓库 AnalyticDB MySQL 版在处理复杂分析查询(OLAP)场景下的卓越性能。测试采用业界公认的 TPC-H 和 TPC-DS 标准测试集,在 100 GB 数据量级下,对AnalyticDB for MySQL集群的查询响应能力进行了全面、客观的评估。
测试环境
本次性能测试所采用的 AnalyticDB for MySQL集群环境如下:
产品系列 | 规格 | 版本 |
企业版 | 预留资源单节点规格:8 ACU 预留资源节点数:12 | 3.2.6.3 |
测试基础环境均在阿里云申请。
测试方法与流程
为确保测试结果的公正性、稳定性和可复现性,本次测试遵循标准化的流程和严谨的执行策略。
测试流程概览
性能测试主要包含以下三个核心步骤:
构建数据结构:根据 TPC-H 和 TPC-DS 的标准,在 AnalyticDB for MySQL中创建相应的表结构;
数据初始化:生成并导入 100 GB 量级的标准测试数据集;
执行标准查询:运行 TPC-H 和 TPC-DS 定义的全套标准查询语句,并记录执行时间;
执行策略
为确保结果的准确性,本次测试遵循以下执行策略:
预热环节:在正式测试前,完整执行两轮全量查询作为系统预热,以保证缓存、连接池等均处于活跃状态。
多轮测试取优:连续执行五轮完整的测试,并取五次结果中的最优值作为最终性能指标。
测试脚本示例
通过编写 Shell 脚本自动化执行查询,确保测试过程的一致性。
TPC-H 测试脚本
while [ $n -lt 23 ]
do
echo "query ${n} starting"
time mysql -f tpch <tpch_${n}.sql
echo "query $n ended!"
n=`expr ${n} + 1`
doneTPC-DS 测试脚本
while [ $n -lt 100 ]
do
echo "query ${n} starting"
time mysql -f tpcds <tpcds_${n}.sql
echo "query $n ended!"
n=`expr ${n} + 1`
done性能测试结果
TPC-H测试结果
在 100 GB 数据量下,AnalyticDB for MySQL对 TPC-H 的 22 个复杂查询(Q1-Q22)均表现出高效的执行能力。所有查询均在亚秒级或秒级完成,总耗时仅为 11.65 秒。详细结果如下(单位:秒):
查询SQL | 耗时(秒) | 查询SQL | 耗时(秒) |
Q01 | 0.79 | Q12 | 0.27 |
Q02 | 0.13 | Q13 | 0.91 |
Q03 | 0.41 | Q14 | 0.24 |
Q04 | 0.75 | Q15 | 0.25 |
Q05 | 0.63 | Q16 | 0.54 |
Q06 | 0.08 | Q17 | 0.26 |
Q07 | 0.32 | Q18 | 0.81 |
Q08 | 0.59 | Q19 | 0.35 |
Q09 | 1.57 | Q20 | 0.33 |
Q10 | 0.58 | Q21 | 1.24 |
Q11 | 0.23 | Q22 | 0.37 |
SUM | 11.65 |
TPC-DS 测试结果
针对查询复杂度更高、场景更丰富的 TPC-DS 测试集,AnalyticDB for MySQL 同样展示了强大的性能,完成了全部 99 个查询,总耗时约为 48.22 秒。详细结果如下(单位:秒):
查询SQL | 耗时(秒) | 查询SQL | 耗时(秒) | 查询SQL | 耗时(秒) |
Q01 | 0.24 | Q34 | 0.19 | Q67 | 3.14 |
Q02 | 0.42 | Q35 | 0.39 | Q68 | 0.21 |
Q03 | 0.06 | Q36 | 0.10 | Q69 | 0.21 |
Q04 | 6.22 | Q37 | 0.07 | Q70 | 0.24 |
Q05 | 0.27 | Q38 | 1.01 | Q71 | 0.25 |
Q06 | 0.22 | Q39 | 0.41 | Q72 | 0.81 |
Q07 | 0.14 | Q40 | 0.08 | Q73 | 0.09 |
Q08 | 0.14 | Q41 | 0.07 | Q74 | 2.02 |
Q09 | 0.30 | Q42 | 0.04 | Q75 | 0.84 |
Q10 | 0.22 | Q43 | 0.11 | Q76 | 0.22 |
Q11 | 3.55 | Q44 | 0.23 | Q77 | 0.19 |
Q12 | 0.09 | Q45 | 0.12 | Q78 | 0.96 |
Q13 | 0.23 | Q46 | 0.26 | Q79 | 0.22 |
Q14 | 1.79 | Q47 | 0.55 | Q80 | 0.22 |
Q15 | 0.12 | Q48 | 0.15 | Q81 | 0.33 |
Q16 | 0.45 | Q49 | 0.17 | Q82 | 0.06 |
Q17 | 0.57 | Q50 | 0.19 | Q83 | 0.18 |
Q18 | 0.32 | Q51 | 0.69 | Q84 | 0.13 |
Q19 | 0.15 | Q52 | 0.05 | Q85 | 0.60 |
Q20 | 0.08 | Q53 | 0.07 | Q86 | 0.10 |
Q21 | 0.07 | Q54 | 0.35 | Q87 | 1.02 |
Q22 | 0.41 | Q55 | 0.05 | Q88 | 0.18 |
Q23 | 4.61 | Q56 | 0.22 | Q89 | 0.11 |
Q24 | 0.65 | Q57 | 0.45 | Q90 | 0.17 |
Q25 | 0.51 | Q58 | 0.16 | Q91 | 0.18 |
Q26 | 0.12 | Q59 | 1.71 | Q92 | 0.04 |
Q27 | 0.12 | Q60 | 0.24 | Q93 | 0.24 |
Q28 | 0.23 | Q61 | 0.27 | Q94 | 0.26 |
Q29 | 0.47 | Q62 | 0.16 | Q95 | 0.37 |
Q30 | 0.31 | Q63 | 0.07 | Q96 | 0.11 |
Q31 | 0.53 | Q64 | 0.65 | Q97 | 0.36 |
Q32 | 0.04 | Q65 | 0.33 | Q98 | 0.24 |
Q33 | 0.20 | Q66 | 0.21 | Q99 | 0.25 |
SUM | 48.22 |
结论
综上所述,本次基于 TPC-H 和 TPC-DS 标准集的测试结果表明,云原生数据仓库 AnalyticDB MySQL 版在处理大规模数据集下的复杂分析查询时,具备行业领先的性能表现,能够为企业级数据分析应用提供强有力的性能支持。