このトピックでは、サーバーレスクラスターのリソースにスケーリングポリシーを設定する方法について説明します。
スケーリング
スケーリングをトリガーするメトリックは、パラメーター設定とサーバーレス設定によって異なります。 CPUスケーリングのしきい値を指定できますが、他のメトリックのしきい値は変更できません。
トリガー条件のスケールアップとスケールアウト
スケールアップ
PolarDBは、プライマリノードと読み取り専用ノードのCPU使用率、メモリ使用率、およびその他のカーネルメトリックを監視します。 モニタリングサイクル中に、次のいずれかの条件が満たされると、サーバーレスリソースのスケールアップがトリガーされます。
単一のノードのCPU使用率がデフォルトのスケールアップしきい値80% またはカスタムしきい値よりも高い場合、ノードのCPU仕様のスケールアップがトリガーされます。
単一ノードのメモリ使用量が90% を超えると、ノードのメモリ仕様のスケールアップがトリガーされます。
読み取り専用ノードの仕様がプライマリノードの仕様の半分未満の場合、読み取り専用ノードの仕様のスケールアップがトリガーされます。 たとえば、読み取り専用ノードの仕様が4つのPolarDB Capacity Unit (PCU) であり、プライマリノードの仕様が10のPCUである場合、読み取り専用ノードの仕様は少なくとも5つのPCUにスケールアップされます。
スケールアウト
クラスターの読み取り専用ノードが最大仕様までスケールアップされ、ビジネスワークロードがスケールアップのしきい値よりも高い場合 (CPU使用率が既定のしきい値80% または指定したしきい値よりも高い場合) 、読み取り専用ノードのスケールアウトがトリガーされます。
トリガー条件のスケールダウン
単一ノードのCPU使用率がデフォルトのスケールダウンしきい値50% またはカスタムしきい値より低く、メモリ使用量が80% より低い場合、ノードのスケールダウンがトリガーされます。
使用上の注意
サーバーレスクラスターへの最大接続数は100,000で、サーバーレスクラスターの最大IOPSは84,000です。
インメモリ列インデックス (IMCI) 機能は、少なくとも1つの読み取り専用ノードを含むサーバーレスクラスターでサポートされます。 読み取り専用列ストアノードをサーバーレスクラスターに追加する前に、サーバーレスクラスターの [最小読み取り専用ノード] パラメーターを1に設定する必要があります。
serverlessパラメーターの設定
サーバーレスクラスタは、PCUで課金およびスケーリングされます。 1つのPCUは、1コアと2 GBのメモリにほぼ相当します。 PCUの数は、ワークロードに基づいて指定された範囲内で動的に変化します。
サーバーレスクラスターのワークロードが突然増加すると、クラスターのノードは、一度に1ステップずつではなく、期待される仕様に近づくように段階的にスケーリングされます。 ノードスケーリングの最小ステップサイズは0.5 PCUです。 現在のワークロードにすばやく適応するために、次のスケーリングステップサイズは、ノードごとの現在のPCU数に基づいて増加します。
現在のパラメータ
ノードの数は、ワークロードに基づいて指定された範囲内で動的に変化します。
PolarDBコンソールにログインします。
左上隅で、クラスターがデプロイされているリージョンを選択します。
クラスターを見つけて、そのIDをクリックします。
概要ページのデータベースノードセクションで、サーバーレス設定をクリックします。
Serverless 関連のパラメーター設定 ダイアログボックスで、[現在のパラメーター] パラメーターの右側にある [編集] をクリックして、次のパラメーターを設定します。
単一ノードの最大リソース: クラスター内のノードあたりのPCUの最大数。 有効値: 0 PCU ~ 32 PCU。
単一ノードの最小リソース: クラスター内のノードあたりのPCUの最小数。 有効値: 0 PCU ~ 32 PCU。
最大読み取り専用ノード: 追加できる読み取り専用ノードの最大数。 有効な値: 0 ~ 15。
最小読み取り専用ノード: 追加できる読み取り専用ノードの最小数。 有効な値: 0 ~ 15。
読み取り専用列ストアノード: 追加できる読み取り専用列ストアノードの最大数。 有効な値: 0 ~ 15。
説明詳細パラメーターは、サーバーレスクラスターのリソース負荷に基づいて変更できます。
スキャン間隔: センシティブモードでは、仕様が定義されたサーバーレス対応のPolarDBクラスターがワークロードに迅速に対応するため、クラスターの監視ウィンドウと実行期間が短縮されます。 [スキャン間隔] ドロップダウンリストから [標準] または [機密] を選択できます。
Elastic Upgradeの最大CPUリソース: クラスターのCPUスケールアップしきい値。 有効な値: 40% 〜100% 。
Elastic Upgradeの最小CPUリソース: クラスターのCPUスケールダウンしきい値。 有効な値: 10% 〜70% 。 CPUスケールアップしきい値とCPUスケールダウンしきい値の差は、30% 以上である必要があります。
OKをクリックします。
定期的なポリシー
サーバーレスリソースの定期的なポリシーを削除すると、現在のポリシーで実行されているタスクを元に戻すことはできません。 実行されていないタスクは削除されます。 作業は慎重に行ってください。
サーバーレス機能を無効にすると、定期的なポリシーとスケジュールされたタスクが削除されます。 作業は慎重に行ってください。
PolarDBコンソールにログインします。
左上隅で、クラスターがデプロイされているリージョンを選択します。
クラスターを見つけて、そのIDをクリックします。
概要ページのデータベースノードセクションで、サーバーレス設定をクリックします。
Serverless 関連のパラメーター設定ダイアログボックスで、+ ライフサイクルポリシーの追加をクリックして次の表で説明するパラメーターを設定します。
パラメーター
説明
単一ノードの最大リソース
有効な値: 1 ~ 16 PCU。
単一ノードの最小リソース
有効な値: 1 ~ 16 PCU。 [単一ノードの最小リソース] パラメーターの値は、[単一ノードの最大リソース] パラメーターの値以下である必要があります。
最大読み取り専用ノード
有効な値: 0 ~ 15。
最小読み取り専用ノード
有効な値: 0 ~ 15。 [最小読み取り専用ノード] パラメーターの値は、[最大読み取り専用ノード] パラメーターの値以下である必要があります。
読み取り専用列ストアノード
有効な値: 0 ~ 15。
開始 /終了時間
定期的なポリシーの有効期間。
ポリシースケジューリング
定期的なポリシーのスケジューリング設定。 すべてのパラメーターのオプションの有効な値:
月: ポジティブとラスト。
週オプションの有効な値: 月曜日から日曜日。
時間: 0から23。 分: 0および30。
説明詳細パラメーターは、サーバーレスクラスターのリソース負荷に基づいて変更できます。
OKをクリックします。
スケジュール済みタスクの照会
定期的なポリシーが作成されると、スケジュールされたタスクはポリシーに基づいて自動的に生成されます。
次のいずれかの方法を使用して、スケジュール済みタスクを照会できます。
クラスターの定期的なポリシーが作成された後、クラスターの [基本情報] ページの [保留中のスケジュール済みタスクと失敗したタスク] セクションでスケジュール済みタスクを表示できます。
スケジュール済みタスクを表示するには、PolarDBコンソールで [タスク管理] > [スケジュール済みタスク] を選択します。
例:
8月1日から9月30日までの営業日 (月曜日から金曜日) に9:30に5台のPCUをスケールアップし、22:00に1台のPCUをスケールダウンする場合は、次の図に示すように設定できます。