すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DOPポリシー

最終更新日:Dec 23, 2024

PolarDBは複数のポリシーをサポートしており、グローバルまたは単一のクエリに対して並列処理度 (DOP) を制御し、リソースの読み込みが適切な場合に適切なDOP値が選択されるようにします。

説明

MySQL設定ファイル互換性プレフィックスloose_ は、PolarDBコンソールのすべてのクラスターパラメーターに追加されます。 PolarDBコンソールでパラメーターを変更する場合は、loose_ プレフィックスを含むパラメーターを変更してください。

並列クエリのキューイングポリシーを定義するパラメーター

パラメーター

説明

max_parallel_ワーカー

1つのノード内の並列ワーカーの最大数を指定します。 並列ワーカーの数がmax_parallel_workers値を超えると、新しい並列クエリがキューに入り、待機します。 キュースケジューリングは、先入れ先出し (FIFO) ポリシーを使用します。

queuing_parallel_degree_limit

キューで許可される最大DOPを指定します。 キュー内の並列ワーカーの総数がqueuing_parallel_degree_limit値を超えると、キューは満杯と見なされ、後続のクエリには順次実行が使用されます。

pq_max_queuing_time

キュー内の最大待ち時間を指定します。 キュー内の待機時間が指定された値を超えると、クエリはキューから直ちに削除され、代わりにシーケンシャル実行が使用されます。

DOPパラメータの詳細

パラメーター

レベル

説明

max_parallel_ワーカー

グローバル

並列ワーカーの最大数。 並列ワーカーの数が指定された値を超えると、新しい並列クエリがキューに入り、待機します。

  • 有効な値: 1 ~ 10000

  • デフォルト値はCPUコア数の2倍です。

説明

サーバーレスクラスターのmax_parallel_workersの値は、ノード仕様のスケーリングに基づいて調整されます。

queuing_parallel_degree_limit

グローバル

一度にキューに入ることができる並列クエリのDOP値の最大合計。 指定された値を超えると、並列クエリは禁止され、シーケンシャル実行が使用されます。

  • 有効な値: 0 ~ 10000

  • デフォルト値: 64。

pq_max_queuing_time

グローバルとセッション

キュー内の最大待機時間。 キューの待ち時間が指定値を超えた場合は, シーケンシャル実行が使用されます。

  • 有効な値: 0 ~ 18446744073709551615

  • デフォルト値:200

  • 単位:ミリ秒。

統計変数:

変数

レベル

説明

PQ_refused_over_total_workers

グローバルとセッション

ワーカーの総数の制限のために並列に実行されないクエリの数。

PQ_refused_over_max_queuing_time

グローバルとセッション

キュータイムアウトのためにエラスティック並列クエリが失敗したクエリの数。

Total_running_parallel_workers

グローバル

実行中の並列ワーカーの数。

アダプティブDOP設定

PolarDBは、クエリのコストと現在のリソース負荷に基づいたアダプティブDOP設定をサポートします。これには、シングルノードのエラスティック並列クエリのDOPやマルチノードのエラスティック並列クエリのスケジューリングポリシーが含まれます。 下表に、各パラメーターを説明します。

パラメーター

レベル

説明

parallel_degree_ポリシー

グローバル

個々のクエリのDOPポリシー。 有効な値:

  • TYPICAL: PolarDBは、CPU使用率などのデータベースの負荷に関係なく、DOPをmax_parallel_degreeと同じ値に設定します。

  • AUTO: PolarDBは、CPU使用率などのデータベース負荷に基づいてエラスティックパラレルクエリ機能を有効または無効にし、クエリコストに基づいてDOPを選択します。

  • REPLICA_AUTO (デフォルト): 読み取り専用ノードのみが、CPU使用率などのデータベース負荷に基づいてエラスティック並列クエリ機能を有効にするかどうかを決定し、クエリコストに基づいてDOPを選択します。 プライマリノードはエラスティック並列クエリを実行しません。

システムリソース使用量に基づくDOP制御

parallel_degree_policyAUTOまたはREPLICA_AUTOに設定されている場合、PolarDBは、データベースのCPU使用率、メモリ使用率、または1秒あたりの入出力操作 (IOPS) 値に基づいて並列クエリを有効または無効にします。 並列クエリが有効になっている場合、並列クエリのシステムリソース使用量に基づいてDOPを設定できます。

パラメーター

レベル

説明

auto_dop_cpu_pct_hwm

グローバル

CPU使用率のしきい値。 CPU使用率がしきい値を超えると、PolarDBは並列クエリを無効にします。

  • 有効値: 0~100。

  • デフォルト値: 70。

auto_dop_mem_pct_hwm

メモリ使用量のしきい値。 メモリ使用量がしきい値を超えると、PolarDBは並列クエリを無効にします。

  • 有効値: 0~100。

  • デフォルト値: 90。

auto_dop_iops_pct_hwm

IOPS使用率のしきい値。 IOPS使用量がしきい値を超えると、PolarDBは並列クエリを無効にします。

  • 値の値: 0 ~ 100

  • デフォルト値: 80。