1

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 ステートメントを 2 回実行した場合、2 回目以降の実行は 10 倍近く速く実行されます。

1 つのテーブルに基づくプロセスのヘルプを探しており、現時点ではデータの移動/結合を方程式から除外したいと考えています。

4

1 に答える 1