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_ワーカー | グローバル | 並列ワーカーの最大数。 並列ワーカーの数が指定された値を超えると、新しい並列クエリがキューに入り、待機します。
説明 サーバーレスクラスターのmax_parallel_workersの値は、ノード仕様のスケーリングに基づいて調整されます。 |
queuing_parallel_degree_limit | グローバル | 一度にキューに入ることができる並列クエリのDOP値の最大合計。 指定された値を超えると、並列クエリは禁止され、シーケンシャル実行が使用されます。
|
pq_max_queuing_time | グローバルとセッション | キュー内の最大待機時間。 キューの待ち時間が指定値を超えた場合は, シーケンシャル実行が使用されます。
|
統計変数:
変数 | レベル | 説明 |
PQ_refused_over_total_workers | グローバルとセッション | ワーカーの総数の制限のために並列に実行されないクエリの数。 |
PQ_refused_over_max_queuing_time | グローバルとセッション | キュータイムアウトのためにエラスティック並列クエリが失敗したクエリの数。 |
Total_running_parallel_workers | グローバル | 実行中の並列ワーカーの数。 |
アダプティブDOP設定
PolarDBは、クエリのコストと現在のリソース負荷に基づいたアダプティブDOP設定をサポートします。これには、シングルノードのエラスティック並列クエリのDOPやマルチノードのエラスティック並列クエリのスケジューリングポリシーが含まれます。 下表に、各パラメーターを説明します。
パラメーター | レベル | 説明 |
parallel_degree_ポリシー | グローバル | 個々のクエリのDOPポリシー。 有効な値:
|
システムリソース使用量に基づくDOP制御
parallel_degree_policyがAUTO
またはREPLICA_AUTO
に設定されている場合、PolarDBは、データベースのCPU使用率、メモリ使用率、または1秒あたりの入出力操作 (IOPS) 値に基づいて並列クエリを有効または無効にします。 並列クエリが有効になっている場合、並列クエリのシステムリソース使用量に基づいてDOPを設定できます。
パラメーター | レベル | 説明 |
auto_dop_cpu_pct_hwm | グローバル | CPU使用率のしきい値。 CPU使用率がしきい値を超えると、PolarDBは並列クエリを無効にします。
|
auto_dop_mem_pct_hwm | メモリ使用量のしきい値。 メモリ使用量がしきい値を超えると、PolarDBは並列クエリを無効にします。
| |
auto_dop_iops_pct_hwm | IOPS使用率のしきい値。 IOPS使用量がしきい値を超えると、PolarDBは並列クエリを無効にします。
|