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

PolarDB:過負荷保護

最終更新日:Jun 11, 2024

このトピックでは、過負荷保護機能の仕組みとその使用方法について説明します。

背景情報

プロモーションでは、プライマリノードのCPUリソースが過負荷になる可能性があります。 この場合、プライマリノードをアップグレードできます。 ただし、アップグレードプロセス中、クラスター全体のリクエストはプライマリノードにルーティングされます。 これにより、プライマリノードの過負荷が悪化し、クラッシュやビジネスの中断も発生します。 この状況を防ぐために、PolarDB for MySQLはPolarProxyの過負荷保護機能を提供しています。

制限事項

  • この機能を使用するには、PolarProxyが2.8.1以降で、クラスターがPolarDB for MySQLの5.6、5.7、または8.0である必要があります。

  • この機能は、読み取り /書き込みエンドポイントのみをサポートします。

  • 過負荷保護機能は、すべての読み取り専用ノードにクラッシュが原因で障害が発生した場合、またはプライマリデータベースとのレプリケーションが中断された場合にのみトリガーされます。 この機能は、他のシナリオではサポートされません。

Usage

[概要] ページの [クラスターエンドポイント] セクションで、[変更] をクリックします。 [ノードの設定] ページで、過負荷保護機能を有効にします。

PolarProxyは、リーキーバケットアルゴリズムに基づいて、クラスター内のすべての読み取り専用ノードに障害があることを検出すると、プライマリノードを保護するためにクラスターへの同時要求を制限します。 読み取り専用ノードが正常になるか、指定された制限時間 (デフォルトでは60秒) に達すると、過負荷保護はキャンセルされます。

PolarDB for MySQLは、履歴データに基づいて、同時リクエストの最大数に適した間隔を選択します。 クラスターが正常な場合、PolarProxyは、過去24時間にプライマリノードでサンプリングされた同時リクエストの数を記録します。

過負荷保護がトリガーされると、PolarProxyは履歴データの中央値を同時リクエストの最大数として使用して、アクティブな接続の数を制限します。

テスト中、すべての読み取り専用ノードのレプリケーションが中断されると、過負荷保護がトリガーされます。 この期間中、要求は引き続きプライマリノードにルーティングできますが、要求の数は急激に増加しません。

読み取り専用ノードが回復すると、過負荷保護が無効になり、要求を正常に転送できます。

456789