对SQL数据仓库DWU进行基准测试

时间:2016-08-25 14:58:38

标签: azure-sqldw

我正在整理一些简单的分析,以根据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。

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

在基于一个表格的过程中寻求帮助,希望暂时保持数据移动/加入等式。

1 个答案:

答案 0 :(得分:1)

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

您的查询可能是串行分析1.7b行中的每个聚合,这并不能最大限度地提高产品的并行性,但最好的方法是找出正在发生的事情on是在上面的链接中查看查询计划等。

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

让我们知道您在查询计划,执行计划等中找到了什么。

相关问题