一、关于 TPC-DS 性能测试
TPC-DS 是一个以决策支持为重点的基准测试,旨在评估数据仓库和分析系统的性能。它是由 TPC(Transaction Processing Performance Council)组织开发的,用于比较不同系统在处理复杂查询和大规模数据分析方面的能力。
TPC-DS 的设计目标是模拟现实世界中的复杂决策支持工作负载。它通过一系列复杂的查询和数据操作来测试系统的性能,包括联接、聚合、排序、过滤、子查询等。这些查询模式涵盖了从简单到复杂的各种场景,如报表生成、数据挖掘、OLAP(联机分析处理)等。
二、硬件环境
在这篇给出的参考方案中,所测试的集群包含 FE 3台、BE 3台 , FE/BE 节点进程均为单独部署,具体规格如下所示。需要特别说明的是,实际测试中不会消耗如此多的硬件资源。
| 节点类型 | 节点规格 |
| FE 1台 标准型 | CPU:16 cores 内存:64 GB 磁盘:增强型SSD云硬盘200 GB |
| BE 3台 标准型 | CPU:16 cores 内存:64 GB 磁盘:增强型SSD云硬盘1000 GB |
三、软件版本
腾讯云 TCHouse-D 2.1.9
四、测试数据
| 表名 | 原始文这篇件大小 | 100G 导入后的大小 | 分桶数 | 行数 |
| call_center | 9.2KiB | 13.784 KB | 1 | 30 |
| catalog_page | 2.8MiB | 1.216 MB | 3 | 20400 |
| catalog_returns | 2.2GiB | 736.137 MB | 32 | 14404374 |
| catalog_sales | 29GiB | 9.225 GB | 960 | 143997065 |
| customer | 256MiB | 111.185 MB | 12 | 2000000 |
| customer_address | 106MiB | 21.386 MB | 12 | 1000000 |
| customer_demographics | 76MiB | 6.468 MB | 12 | 1920800 |
| date_dim | 9.8MiB | 1.823 MB | 12 | 73049 |
| dbgen_version | 111B | 1.184 KB | 1 | 1 |
| household_demographics | 142KiB | 20.372 KB | 3 | 7200 |
| income_band | 308B | 724.000 B | 1 | 20 |
| inventory | 7.7GiB | 871.378 MB | 32 | 399330000 |
| item | 56MiB | 25.314 MB | 12 | 204000 |
| promotion | 122KiB | 73.989 KB | 1 | 1000 |
| reason | 1.9KiB | 7.748 KB | 1 | 55 |
| ship_mode | 1.1KiB | 3.251 KB | 1 | 20 |
| store | 104KiB | 54.449 KB | 1 | 402 |
| store_returns | 3.3GiB | 1.090 GB | 32 | 28795080 |
| store_sales | 38GiB | 12.529 GB | 960 | 287997024 |
| time_dim | 4.8MiB | 1.087 MB | 12 | 86400 |
| warehouse | 1.8KiB | 4.999 KB | 1 | 15 |
| web_page | 193KiB | 38.753 KB | 1 | 2040 |
| web_returns | 998MiB | 350.227 MB | 32 | 7197670 |
| web_sales | 15GiB | 4.645 GB | 960 | 72001237 |
| web_site | 6.7KiB | 11.185 KB | 1 | 24 |
| Total | 96G | 29.566 GB | 3096 | 959037906 |
五、性能测试结果
注意:说明:
注意:测试结果为对应 SQL 文件3次查询的平均时间,以秒(s)为单位 。
| Query 编号 | BE 16C*3,100GB 数据集 |
| 总耗时 | 65.872 |
| query1 | 0.189 |
| query2 | 1.061 |
| query3 | 0.123 |
| query4 | 2.427 |
| query5 | 0.224 |
| query6 | 0.114 |
| query7 | 0.186 |
| query8 | 0.133 |
| query9 | 1.291 |
| query10 | 0.151 |
| query11 | 1.532 |
| query12 | 0.063 |
| query13 | 0.236 |
| query14 | 3.43 |
| query15 | 0.12 |
| query16 | 0.505 |
| query17 | 0.291 |
| query18 | 0.2 |
| query19 | 0.107 |
| query20 | 0.066 |
| query21 | 0.066 |
| query22 | 2.361 |
| query23 | 7.399 |
| query24 | 1.305 |
| query25 | 0.233 |
| query26 | 0.106 |
| query27 | 0.222 |
| query28 | 1.109 |
| query29 | 0.257 |
| query30 | 0.104 |
| query31 | 0.464 |
| query32 | 0.041 |
| query33 | 0.19 |
| query34 | 0.298 |
| query35 | 0.432 |
| query36 | 0.533 |
| query37 | 0.05 |
| query38 | 1.391 |
| query39 | 0.675 |
| query40 | 0.067 |
| query41 | 0.042 |
| query42 | 0.065 |
| query43 | 0.305 |
| query44 | 0.45 |
| query45 | 0.13 |
| query46 | 0.378 |
| query47 | 0.898 |
| query48 | 0.196 |
| query49 | 0.236 |
| query50 | 0.206 |
| query51 | 2.349 |
| query52 | 0.061 |
| query53 | 0.112 |
| query54 | 0.259 |
| query55 | 0.059 |
| query56 | 0.149 |
| query57 | 0.694 |
| query58 | 0.155 |
| query59 | 1.516 |
| query60 | 0.165 |
| query61 | 0.083 |
| query62 | 0.203 |
| query63 | 0.115 |
| query64 | 0.961 |
| query65 | 1.401 |
| query66 | 0.162 |
| query67 | 8.078 |
| query68 | 0.359 |
| query69 | 0.171 |
| query70 | 0.675 |
| query71 | 0.178 |
| query72 | 1.416 |
| query73 | 0.233 |
| query74 | 1.733 |
| query75 | 1.011 |
| query76 | 0.286 |
| query77 | 0.175 |
| query78 | 3.06 |
| query79 | 0.417 |
| query80 | 0.263 |
| query81 | 0.141 |
| query82 | 0.063 |
| query83 | 0.122 |
| query84 | 0.057 |
| query85 | 0.236 |
| query86 | 0.203 |
| query87 | 1.501 |
| query88 | 1.183 |
| query89 | 0.162 |
| query90 | 0.091 |
| query91 | 0.091 |
| query92 | 0.038 |
| query93 | 0.322 |
| query94 | 0.292 |
| query95 | 0.153 |
| query96 | 0.17 |
| query97 | 1.368 |
| query98 | 0.14 |
| query99 | 0.382 |