Azure Synapse Analytics - ワークロード管理ポータル監視
この記事では、ワークロード グループのリソース使用率とクエリ アクティビティを監視する方法について説明します。 Azure メトリック エクスプローラーの構成方法の詳細については、「Azure Monitor メトリック エクスプローラーで Azure メトリック」を参照してください。 システム リソースの消費を監視する方法の詳細については、Azure Synapse Analytics 監視に関するドキュメントの「リソース使用率」セクションを参照してください。 ワークロード管理を監視するために用意されているワークロード グループ メトリックには、リソース割り当てとクエリ アクティビティの 2 つの異なるカテゴリがあります。 これらのメトリックは、ワークロード グループ別に分割およびフィルター処理できます。 これらのメトリックは、システム定義 (リソース クラス ワークロード グループ) であるか、(CREATE WORKLOAD GROUP 構文を使用してユーザーによって作成された) ユーザー定義であるかに基づいて、分割およびフィルター処理できます。
ワークロード管理メトリックの定義
ワークロード管理メトリックの詳細については、「Microsoft.Synapse/workspaces/sqlPools でサポートされているメトリック」の「SQL 専用プール - ワークロード管理」というエントリを参照してください。
監視シナリオとアクション
トラブルシューティングのためのワークロード管理メトリックの使用法を明確に示す一連のグラフ構成と、問題に対処するための関連アクションを次に示します。
使用率が低いワークロードの分離
次のワークロード グループと分類子の構成を考えてみましょう。ここでは、wgPriority
という名前のワークロード グループが作成され、wcCEOPriority
ワークロード分類子を使用してそれに TheCEO membername
がマップされています。 wgPriority
ワークロード グループには、25% のワークロードの分離が構成されています (MIN_PERCENTAGE_RESOURCE
= 25)。 TheCEO によって送信される各クエリには、システム リソースの 5% が割り当てられます (REQUEST_MIN_RESOURCE_GRANT_PERCENT
= 5)。
CREATE WORKLOAD GROUP wgPriority
WITH ( MIN_PERCENTAGE_RESOURCE = 25
,CAP_PERCENTAGE_RESOURCE = 50
,REQUEST_MIN_RESOURCE_GRANT_PERCENT = 5);
CREATE WORKLOAD CLASSIFIER wcCEOPriority
WITH ( WORKLOAD_GROUP = 'wgPriority'
,MEMBERNAME = 'TheCEO');
下のグラフは、次のように構成されています。
メトリック 1: "Effective min resource percent (有効な最小リソース割合) " (Avg 集計、blue line
)
メトリック 2: "Workload group allocation by system percent (システム割合別のワークロード グループの割り当て) " (Avg 集計、purple line
)
フィルター: [ワークロード グループ] = wgPriority
このグラフは、25% のワークロードの分離に対して平均で 10% しか使用されていないことを示しています。 この場合、MIN_PERCENTAGE_RESOURCE
パラメーター値を 10 または 15 に小さくすると、システム上の他のワークロードでリソースを使用できるようになります。
ワークロード グループのボトルネック
次のワークロード グループと分類子の構成を考えてみましょう。ここでは、wgDataAnalyst
という名前のワークロード グループが作成され、wcDataAnalyst
ワークロード分類子を使用してそれに DataAnalyst membername
がマップされています。 wgDataAnalyst
ワークロード グループには、6% のワークロードの分離 (MIN_PERCENTAGE_RESOURCE
= 6) と、9% のリソースの上限 (CAP_PERCENTAGE_RESOURCE
= 9) が構成されています。 DataAnalyst によって送信される各クエリには、システム リソースの 3% が割り当てられます (REQUEST_MIN_RESOURCE_GRANT_PERCENT
= 3)。
CREATE WORKLOAD GROUP wgDataAnalyst
WITH ( MIN_PERCENTAGE_RESOURCE = 6
,CAP_PERCENTAGE_RESOURCE = 9
,REQUEST_MIN_RESOURCE_GRANT_PERCENT = 3);
CREATE WORKLOAD CLASSIFIER wcDataAnalyst
WITH ( WORKLOAD_GROUP = 'wgDataAnalyst'
,MEMBERNAME = 'DataAnalyst');
下のグラフは、次のように構成されています。
メトリック 1: "Effective cap resource percent (有効な上限リソース割合) " (Avg 集計、blue line
)
メトリック 2: "Workload group allocation by cap resource percent (上限リソース割合別のワークロード グループの割り当て) " (Avg 集計、purple line
)
メトリック 3: "Workload group queued queries (ワークロード グループのキューに登録されたクエリ) " (Sum 集計、turquoise line
)
フィルター: [ワークロード グループ] = wgDataAnalyst
このグラフは、9% のリソースの上限に対してこのワークロード グループの使用率が 90% を超えていることを示しています ("上限リソースの割合によるワークロード グループの割り当てメトリック" より)。 "ワークロード グループのキューに登録されたクエリのメトリック" に示されているように、クエリのキュー登録は安定して存在します。 この場合、CAP_PERCENTAGE_RESOURCE
を 9% を超える値まで増加させることで、より多くのクエリを同時に実行できるようになります。 CAP_PERCENTAGE_RESOURCE
を大きくする場合は、使用可能なリソースが十分にあり、他のワークロード グループによって分離されていないことが前提となります。 "Effective cap resource percent (有効な上限リソース割合) メトリック" を確認して、上限が引き上げられていることを確認します。 より大きいスループットが必要な場合は、REQUEST_MIN_RESOURCE_GRANT_PERCENT
を 3 より大きい値に増加させることも検討してください。 REQUEST_MIN_RESOURCE_GRANT_PERCENT
を大きくすると、クエリの実行速度が向上する可能性があります。