このトピックでは、サーバーレスクラスターに関するよくある質問について説明します。
サーバーレスクラスターに関するよくある質問
基本概念
サーバーレスクラスターにおける PCU の意味
PCU は PolarDB Capacity Unit の略です。1 PCU は、およそ 1 vCPU と 2 GB のメモリの標準サービス容量に相当します。PCU は、PolarDB サーバーレスクラスターがリソースの弾力性を管理するために使用する単位です。最小の弾性増分は 0.5 PCU です。
PolarDB サーバーレスクラスターの最大ストレージ容量
サーバーレスクラスターのストレージ上限は 500 TB です。
PolarDB サーバーレスはストレージホットスタンバイクラスターをサポートしているか
はい。PolarDB サーバーレスクラスターの作成時にホットスタンバイクラスターを有効にできます。
購入と使用方法
PolarDB サーバーレスクラスターの課金方法
サーバーレスクラスターは、各課金間隔中の平均 PCU 使用量に基づいて秒単位で課金されます。詳細については、「サーバーレスの課金の概要」をご参照ください。
弾性スケーリング
PolarDB サーバーレスの弾性スケーリング範囲
単一ノード (プライマリノードまたは読み取り専用ノード) は、1~32 PCU (約 32 vCPU と 64 GB のメモリ) の弾性範囲をサポートします。最大 15 個の読み取り専用ノードを追加できます。したがって、クラスター全体での理論上の最大計算容量は 32 × 16 = 512 PCU です。ノードごとの弾性範囲と読み取り専用ノードの数はコンソールで設定できます。詳細については、「サーバーレスクラスターの弾性スケーリングポリシーの設定」をご参照ください。
PolarDB サーバーレスクラスターの弾性スケーリングにかかる時間
単一ノードのインプレーススケーリングには 10 秒未満 (ホスト間スケーリングには 30 秒未満) かかります。弾性スケーリング時間は、検出時間 + 決定時間 + 実行時間の 3 つの部分で構成されます。検出時間は 5 秒です。決定時間と実行時間はそれぞれ 1 秒未満です。単一ノードが設定された上限に達し (たとえば、ノードごとの弾性範囲が 1~16 PCU に設定され、プライマリノードが 16 PCU に達した場合)、現在のサービストラフィックがクラスターの処理能力を超えている場合、システムは自動的に読み取り専用ノードを追加します (設定した最大数まで)。読み取り専用ノードの追加には約 1 分かかります。サービストラフィックが減少し、読み取り専用ノードがアイドル状態になると、それらは回収および削除されます。定期的なワークロード下での頻繁な追加と削除を避けるため、読み取り専用ノードを削除する決定時間は分単位です。
PolarDB サーバーレスクラスターのスケールアップをトリガーするメトリック
スケールアップとスケールアウトのトリガー条件
スケールアップ (ノードのスペックアップ)
PolarDB は、プライマリノードと読み取り専用ノードの CPU 使用率、メモリ使用量、およびその他のカーネルレベルのメトリックを監視します。監視サイクル中に、次のいずれかの条件が満たされた場合、通常、ノードのスケールアップがトリガーされます。
CPU 使用率がプリセットのしきい値 (デフォルト:80%) を超えている。
メモリ使用量が特定のしきい値を超えている:
サーバーレスタイプ
スケールアップのしきい値
サーバーレスクラスター
90%
固定仕様クラスターのサーバーレス機能
32 GB 以下
90%
64 GB
92%
128 GB
96%
256 GB~512 GB
98%
その他のメモリ仕様
スケールアップはサポートされていません。
読み取り専用ノードの仕様がプライマリノードの仕様の半分未満である。
たとえば、読み取り専用ノードの仕様が 4 PCU で、プライマリノードの仕様が 10 PCU の場合、読み取り専用ノードは少なくとも 5 PCU にスケールアップされます。
スケールアウト (ノードの追加)
クラスター内の読み取り専用ノードが最大仕様までスケールアップされ、それでもスケールアップのしきい値を満たしている場合 (たとえば、CPU 使用率がカスタムしきい値を超えている場合)、スケールアウトがトリガーされ、さらに読み取り専用ノードが追加されます。
スケールダウンとスケールインのトリガー条件
スケールダウン (ノードのスペックダウン)
ノードの CPU 使用率が指定されたしきい値 (デフォルト:50%) を下回り、メモリ使用量が特定のしきい値を下回ると、スケールダウンがトリガーされます。メモリのしきい値は次のとおりです。
サーバーレスタイプ
スケールダウンのしきい値
サーバーレスクラスター
80%
固定仕様クラスターのサーバーレス機能
32 GB 以下
80%
64 GB
86%
128 GB
90%
256 GB~512 GB
94%
その他のメモリ仕様
スケールアップはサポートされていないため、スケールダウンのしきい値は適用されません。
スケールイン (ノードの削除)
読み取り専用ノードの CPU 使用率が 15% 未満で、他のすべての読み取り専用ノードの CPU 使用率が 15~30 分間 60% 未満で推移した場合、スケールインがトリガーされます。
説明ノードのジッターを防ぐため、一度にスケールインされる読み取り専用ノードは 1 つだけです。連続するスケールイン操作間のクールダウン期間は 15~30 分です。
すべての読み取り専用ノードを即時にスケールインするには、[サーバーレス設定] を変更します。[読み取り専用ノードの最大数] と [読み取り専用ノードの最小数] の両方を 0 に設定します。
サーバーレスクラスターの最大接続数と最大 IOPS はスケールアップ中に変化するか
サーバーレスクラスターの最大接続数は 100,000、最大 IOPS は 84,000 です。
固定仕様クラスターでサーバーレス機能を有効にすると、最大接続数は 100,000 になります。スケーラブルな IOPS は、単一のサーバーレスノードのリソーススケーリングに設定された上限に正比例します。
PolarDB サーバーレスクラスターで PCU 値が大きいほどスケーリングの増分が大きくなることの意味
サービストラフィックが急増した場合、サーバーレスクラスターは一度に必要な仕様に直接スケーリングするのではなく、ターゲットに向かって段階的にスケーリングします。最小スケーリング増分は 0.5 PCU です。現在のトラフィックにより速く適応するため、システムは現在の PCU レベルに基づいて次のスケーリング増分を自動的に増加させます。
PolarDB サーバーレスクラスターが 1 PCU で実行されているときにメモリ使用量が 100% と表示される理由
サーバーレスクラスターのノードごとの最大仕様は 32 PCU であるため、特定のカーネルモジュールは 1 PCU からの迅速なスケールアップを可能にするためにメモリ空間を予約します。そのため、PolarDB コンソールでは 1 PCU でメモリ使用量が 100% と表示されます。
ノードごとの PCU スケーリングの上限と下限に同じ値を設定できるか
はい。ただし、上限と下限を同じに設定すると、サーバーレスクラスターはサービストラフィックの変動に応じてスケーリングしなくなり、ワークロードに影響を与える可能性があります。ノードごとの PCU スケーリング範囲は、合理的に設定してください。
負荷が低い場合に、水平方向に追加された読み取り専用ノードが自動的にスケールダウン (リリース) されない理由
ホスト間スケーリング
ローカルリソースが不足してさらなる垂直スケーリングができない場合、ホスト間スケーリングがトリガーされ、クラスターはより多くの利用可能なリソースを持つホストに移行されます。ホスト間スケーリングはデフォルトで有効になっています。この機能を有効にしたくない場合は、チケットを送信して無効化をリクエストしてください。
ビジネスへの影響
計算ノードの移行には通常 5~10 分かかります。
プライマリ (読み取り/書き込み) ノードの移行中に、30~90 秒間続く一時的な切断が 1~2 回発生する可能性があります。お使いのクラスターで ホットレプリカによるフェールオーバー が有効になっており、バイナリログ (Binlog) が無効になっている場合、プライマリノードの移行では実質的に一時的な切断は発生しません。
読み取り専用ノードの移行は、書き込み操作に影響を与えません。
その他
PolarDB サーバーレスクラスターにおける強力なトランザクション整合性の意味
強力なトランザクション整合性は、読み取り専用ノードでの読み取りトランザクションとプライマリノードとの間の調整を保証し、読み取り専用ノードから読み取られたデータがクラスター全体のトランザクションの ACID 属性に準拠することを保証します。
固定仕様クラスターでは、読み取り専用ノードの数は固定です。クラスターエンドポイントに関連付けられたトポロジーに基づいて、適切な整合性ポリシーを設定できます。
サーバーレスクラスターでは、デフォルトでプライマリノードが 1 つだけ存在し、読み取り専用ノードは負荷に基づいて自動的にスケーリングします。読み書き分離は予測できないため、常にグローバル整合性 (パフォーマンス専有型) を設定してください。
標準の PolarDB クラスターをサーバーレスクラスターに移行する方法
DTS を使用して、標準の PolarDB クラスターをサーバーレスクラスターに移行します。
標準の PolarDB クラスター (サブスクリプションまたは従量課金) をサーバーレスクラスターにアップグレードできるか
はい。標準の PolarDB クラスター (サブスクリプションまたは従量課金) でサーバーレス機能を有効にすることができ、これはサーバーレス機能を備えた固定仕様クラスターとして知られています。詳細については、「固定仕様クラスターでサーバーレス機能を有効にする」をご参照ください。
PolarDB for MySQL固定仕様クラスターでサーバーレス機能を有効にすると瞬断が発生するか
固定仕様クラスターでサーバーレス機能を有効にする際、現在のホストのリソースが制約されている場合、クラスターの移行 (アイドル状態のホストへ) が発生する可能性があります。この機能はオフピーク時に有効にしてください。詳細については、「固定仕様クラスターのサーバーレス機能の管理」をご参照ください。
プライマリエンドポイントを使用してデータベースに接続する場合、移行中に 5~10 秒の瞬断が発生する可能性があります。
クラスターエンドポイントを使用する場合、移行中に瞬断は発生しません。クラスターエンドポイントを使用し、ホットレプリカによるフェールオーバーがアクティブであることを確認してください。詳細については、「エンドポイント (プライマリ、クラスター、カスタム)」および「ホットレプリカによるフェールオーバー」をご参照ください。