步骤6:调优表性能评估
经过测试,得到了优化表前后的加载时间、存储占用情况和查询执行时间,并记录了结果,针对结果进行对比分析。
下表显示了本次实践所用集群的示例结果。您的结果会有所不同,但应该显示出相似的性能提升。
基准 |
优化前 |
优化后 |
改变 |
百分比 |
---|---|---|---|---|
加载时间(11张表) |
341584ms |
257241ms |
-84343ms |
-24.7% |
占用存储 |
- |
- |
||
Store_Sales |
42GB |
14GB |
-28GB |
-66.7% |
Date_Dim |
11MB |
27MB |
16MB |
145.5% |
Store |
232kB |
4352kB |
4120kB |
1775.9% |
Item |
110MB |
259MB |
149MB |
1354.5% |
Time_Dim |
11MB |
14MB |
13MB |
118.2% |
Promotion |
256kB |
3200kB |
2944kB |
1150% |
Customer_Demographics |
171MB |
11MB |
-160MB |
-93.6 |
Customer_Address |
170MB |
27MB |
-143MB |
-84.1% |
Household_Demographics |
504kB |
1280kB |
704kB |
139.7% |
Customer |
441MB |
111MB |
-330MB |
-74.8% |
Income_Band |
88kB |
896kB |
808kB |
918.2% |
总存储空间 |
42GB |
15GB |
-27GB |
-64.3% |
查询执行时间 |
- |
- |
||
查询1 |
14552.05ms |
1783.353ms |
-12768.697ms |
-87.7% |
查询2 |
27952.36ms |
14247.803ms |
-13704.557ms |
-49.0% |
查询3 |
17721.15ms |
11441.659ms |
-6279.491ms |
-35.4% |
总执行时间 |
60225.56ms |
27472.815ms |
-32752.745ms |
-54.4% |
调优后表的评估
- 加载时间减少了24.7%。
分布方式对加载的影响明显,Hash分布方式提升加载效率,Replication分布方式会降低加载效率。在CPU和I/O均充足的情况下,压缩级别对加载效率影响不大。通常,列存表的加载效率比行存要高。
- 存储占用减少了64.3%。
压缩级别、列存和Hash分布均能够节省存储空间。Replication表会明显加大存储占用,但是可以减小网络开销。通过对小表采用Replication方式,是使用小量空间换取性能的正向做法。
- 查询性能(速度)提升了54.4%,即查询时间减少了54.4%。
查询性能方面的提升源于对存储方式、分布方式和分布列的优化。在多字段表,统计分析类查询场景下,列存可以提升查询性能。对于Hash分布表,在读/写数据时可以利用各个节点的IO资源,提升表的读/写速度。
重写查询和配置工作负载管理 (WLM) 通常可进一步提升查询性能。有关更多信息,请参阅优化查询性能概述。
基于调优表实践的具体步骤,您可以进一步应用“基于表结构设计和调优提升GaussDB(DWS)查询性能”中的优秀实践方法来改进表的分配,以达到您所期望的数据加载、存储和查询方面的效果。
清除资源
在完成本次实践之后,应删除集群。
如果需要保留集群,删除SS表,请执行以下命令。
1 2 3 4 5 6 7 8 9 10 11 |
DROP TABLE store_sales; DROP TABLE date_dim; DROP TABLE store; DROP TABLE item; DROP TABLE time_dim; DROP TABLE promotion; DROP TABLE customer_demographics; DROP TABLE customer_address; DROP TABLE household_demographics; DROP TABLE customer; DROP TABLE income_band; |