【问题标题】:Benchmarking SQL Data Warehouse DWU基准测试 SQL 数据仓库 DWU
【发布时间】:2016-08-25 14:58:37
【问题描述】:

我正在整理一些简单的分析,以根据 CTAS 语句对 DWU 对读写的影响进行基准测试。

该查询将 1.7b 行的表聚合为 993k 行的表。源表和目的表是轮询分布(源不会长期RR,会移动到HASH)查询大致如下:

create table CTAS_My_DWU_Test 
with (distribution = round_robin) 
as
select TableKey1, TableKey2, 
SumCcolumn=SUM(SalesAmt), 
MaxQuantity=MAX(SalesQty), 
MinQuantity=MIN(SalesQty)
from FactSales
group by TableKey1, TableKey2
option (label='MyDWUTest');

我正在通过 sys.dm_pdw_dms_workers DMV 分析性能,得到 type=DIRECT_READER 和 type=WRITER 的每个分布的平均 bytes_per_second。

我的过程是更改 DWU,删除 CTAS,重新创建它并分析 DMV 中的数据。

随着 DWU 的增加,我没有看到性能的持续改进。我的目标是寻找增加计算的明确证据,但有时更高的 DWU 会比更小的 DWU 更慢并且返回的 bytes_per_sec 更少。

如果我碰巧在同一个 DWU 上运行 CTAS 语句两次,而不经过缩放过程,那么第二次和后续执行的运行速度会快近 10 倍。

在基于一张表的过程中寻求帮助,暂时不想让数据移动/加入等式。

【问题讨论】:

    标签: azure-sqldw


    【解决方案1】:

    好问题!当数据移动较少时,Azure SQL 数据仓库的体系结构性能更高。我建议按照本文中的步骤来确定是哪个步骤减慢了进程:https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-manage-monitor/

    您的查询可能正在分析串行 1.7b 行上的每个聚合,这并不能最大限度地提高我们产品的并行性,但了解发生了什么的最佳方法是查看在上面的链接中的查询计划等。

    至于重复运行时的 10 倍性能,这来自我们系统中的内部缓存。

    让我们知道您在查询计划、执行计划等中发现了什么。

    【讨论】:

      猜你喜欢
      • 2016-02-06
      • 2016-05-01
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 2017-02-09
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多