tencent cloud

TDSQL-C for MySQL

適応型負荷分散

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-06-09 17:01:05
TDSQL-C for MySQLのデータベースプロキシは、アダプティブ負荷分散機能を提供し、バックエンドの負荷状況に基づいて、リクエストを負荷の低いインスタンスにルーティングすることで、データベースインスタンスの負荷分散を実現し、データベースインスタンスの応答速度を確保します。

背景情報

データベースの使用シナリオにおいて、複数の読み取り専用インスタンスを使用する場合、通常はデータベースプロキシを使用して負荷分散を行い、複数の読み取り専用インスタンスがリクエストを分担して、プライマリインスタンスの負荷圧力を軽減します。現在、TDSQL-C for MySQLのデータベースプロキシは、各読み取り専用インスタンスに読み取り重みを割り当てることで負荷分散を実現することをサポートしています。これは「静的」な負荷分散機能であり、設定された読み取り重みに応じて各読み取り専用インスタンスに対応するリクエスト数を確実に割り当てることができます。
異なる業務が異なるデータベースプロキシ接続アドレスから同時にインスタンスにアクセスする場合、負荷が不均衡になる現象が発生する可能性があります。このような現象は「静的」な負荷分散機能では解決できない場合があります。
例えば、ユーザーが1つの読み書きインスタンスと2つの読み取り専用インスタンス(RO1、RO2)を所有しており、そのうちRO2が2つのデータベースプロキシ接続アドレスで使用されている場合、RO2の負荷が上昇すると、この「静的」な負荷分散機能により割り当てられるリクエスト数が固定されるため、RO2の応答が遅くなってもリクエストが割り当てられ続け、全体の応答速度が低下する可能性があります。したがって、TDSQL-C for MySQLのデータベースプロキシはアダプティブ負荷分散機能を提供し、RO2のリクエストが遅くなり負荷が高すぎると判断した場合、データベースプロキシはRO2に割り当てるリクエストを減らし、これらのリクエストを他のアクティブ接続数が少ない読み取り専用インスタンスに割り当てることで、「動的」な負荷分散を実現し、データベースインスタンス全体の応答速度を確保します。


前提条件

インスタンスのステータスは稼働中です。
データベースプロキシが有効化されました。
データベースプロキシカーネルのマイナーバージョンは、バージョン1.3の場合は1.3.8以上、バージョン1.4の場合は1.4.7以上である必要があります。要件を満たしていない場合は、データベースプロキシカーネルマイナーバージョンのアップグレードをご参照ください。
データベースカーネルバージョンの要件は以下の通りです。要件を満たしていない場合は、データベースカーネルマイナーバージョンのアップグレードをご参照ください。
TDSQL-C for MySQL 5.7は、バージョン2.0.20以上または2.1.6以上である必要があります。
TDSQL-C for MySQL 8.0は、バージョン3.1.6以上である必要があります。

操作シナリオ

インスタンス全体の負荷が高く、特定の読み取り専用インスタンスがフル稼働状態になり、他のインスタンスがフル稼働していない場合、アダプティブ負荷分散を有効にしたプロキシは、リクエストに応答できるインスタンスに優先的にリクエストを送信します。これにより、すべてのインスタンスのリソースを効率的に活用できます。ただし、不適切なスローSQLによってインスタンスがフル稼働状態になっている場合、アダプティブ負荷分散によってすべてのインスタンスが高負荷状態になる可能性があります。そのような場合は、スローSQLの問題を解決する必要があります。
すべてのインスタンス仕様が一致しており、かつすべてのインスタンスに設定された重みが同じで、トラフィックを均等に分散する必要がある場合は、直接アダプティブ負荷分散を有効にすることを選択できます。これにより、ほぼすべてのシナリオの要件に対応することが可能です。
以下の状況では、アダプティブ負荷分散機能を有効にすることをお勧めしません:
1. データベースプロキシ接続アドレスが1つしかない場合は、「静的」な負荷分散機能を使用することをお勧めします。アダプティブ負荷分散機能を有効にすることをお勧めしません。
2. アダプティブ負荷分散機能を有効にすると、低負荷状況ではリクエストが設定された読み取り重みに従ってルーティングされません。設定された読み取り重みに厳密に従ってルーティングを希望する場合は、アダプティブ負荷分散機能を有効にすることをお勧めしません。
3. スローSQLによって単一の読み取り専用インスタンスがフル稼働状態になる場合、負荷分散では緩和できません。このような状況では、アダプティブ負荷分散機能を有効にすることをお勧めしません。まずはSQLの最適化、またはインスタンス仕様の増強によってこの問題を緩和することをお勧めします。

注意事項

負荷分散ポリシーの変更は、設定変更後の新規接続に対してのみ有効です。既存の接続がある場合は、再負荷分散操作を実行して古い接続に適用する必要がある場合があります。
「動的」な負荷分散は、データベースプロキシを経由するトラフィックに対してのみ有効です。データベースプロキシを経由せずに直接データベースに接続するトラフィックがある場合、負荷分散ポリシーの効果が不安定になる可能性があります。
データベースプロキシ接続アドレスの構成を変更する際は、カスタムの重み比率を読み取り専用インスタンスのCPUコア数の比率を参考に設定することをお勧めします。これにより、カスタム重み比率と読み取り専用インスタンスのリクエスト処理能力が相反することで、読み取り専用インスタンスの障害発生の可能性が高まることを回避できます。

適応型CLBの有効化/無効化

説明:
以下の手順は、アダプティブ負荷分散の有効化/無効化操作のみを対象としています。構成調整における具体的な設定と説明(読み取り重みの調整ルールや影響説明を含む)の詳細については、データベースプロキシ接続アドレスの設定をご参照ください。
1. TDSQL-C for MySQLコンソールにログインし、クラスタリストでプロキシが有効化されたクラスタを選択し、クラスタIDをクリックしてクラスタ管理ページに入ります。
2. クラスタ管理ページで、データベースプロキシ > 概要を選択し、接続アドレスから対象のアクセスアドレスを確認して、操作列の設定調整をクリックします。

3. 構成変更ページで、実際のニーズに応じてアダプティブ負荷分散の後のボタンを有効化または無効化し、確定をクリックします。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック