tencent cloud

TencentDB for MySQL

動向とお知らせ
製品アップデート情報一覧
初心者ガイド
製品紹介
製品概要
製品の優位性
適用シナリオ
データベースのアーキテクチャ
タグ編集
製品機能リスト
データベースインスタンス
高可用性(マルチアベイラビリティゾーン)
地域とAvailability Zone
自社研究カーネル
TXSQLカーネル概要
機能系特性
パフォーマンス系特性
セキュリティ系特性
安定性系特性
TXRocksエンジン
購入ガイド
課金概要
購入方法
支払い更新の説明
支払い延滞の説明
返金説明
インスタンス調整の料金の説明
バックアップキャパシティ課金説明
クイックスタート
概要
MySQLインスタンスの作成
操作ガイド
使用制限
操作一覧
インスタンスの管理とメンテナンス
アップグレードインスタンス
拡張インスタンス
データベースプロキシ
データベース管理(DMC)
アカウント管理
パラメータ設定
バックアップとロールバック
データ移行
インターネットとセキュリティ
監視とアラーム
ログセンター
タグ
プラクティスチュートリアル
MySQL利用規約
アプリケーションの自動再接続機能のコンフィグレーション
MySQLマスターインスタンスパラメータの変更影響
MyISAMからInnoDBエンジンへの切り替え制限
TencentDB for MySQLのためのVPC作成
MySQLによるサービス負荷能力の向上
2地域3センターのディザスタリカバリ構築
リード・ライト分離によるTencentDB for MySQLパフォーマンスの拡張
DTSでInnoDBデータをRocksDBに移行します
LAMPスタック上のWebアプリケーションの構築
Drupalウエブサイトの構築
Python言語によるMySQL APIの使用
ホワイトペーパー
パフォーマンス白書
セキュリティ白書
トラブルシューティング
接続に関する問題
性能関連
インスタンスデータの同期遅延
大文字と小文字を区別しない設定に失敗しました
APIドキュメント
History
Introduction
API Category
Instance APIs
Making API Requests
Data Import APIs
Database Proxy APIs
Database Audit APIs
Security APIs
Task APIs
Backup APIs
Account APIs
Rollback APIs
Parameter APIs
Database APIs
Monitoring APIs
Log-related API
Data Types
Error Codes
よくある質問
課金関連
ロールバック関連の問題
接続とログインに関する問題
パラメータを変更
アップグレード関連の問題
アカウント権限
性能メモリ
運営する
データ移行
機能特徴
コンソール関連
ログ関連
API 2.0切り替え 3.0ガイド
Service Agreement
Service Level Agreement
Terms of Service
汎用参考
標準と認証
お問い合わせ
用語集
ドキュメントTencentDB for MySQLプラクティスチュートリアルリード・ライト分離によるTencentDB for MySQLパフォーマンスの拡張

リード・ライト分離によるTencentDB for MySQLパフォーマンスの拡張

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-07-25 17:56:18
このドキュメントでは、データベースプロキシによりリード・ライト分離機能をオンにすることで、スケールアウトを実現し、TencentDB for MySQLのパフォーマンスを向上させるすることをご紹介します。

データベースプロキシがリード・ライト分離アーキテクチャを実現する





データベースプロキシ

データベースプロキシは、クラウドデータベースサービスとアプリケーションサービスの間にあるネットワークプロキシサービスであり、アプリケーションサービスがデータベースにアクセスするときにすべてのリクエストをプロキシするために用いられます。 データベースプロキシのアクセスアドレスは、元のデータベースのアクセスアドレスから独立しています。データベースプロキシアドレスを介したすべてのリクエストは、プロキシクラスターを介して中継され、データベースのマスターノードとスレーブノードにアクセスし、読み取り/書き込み分離を行います。読み取りリクエストは読み取り専用インスタンスに転送され、メインデータベースへの負荷が軽減されます。

自動リード・ライト分離

ユーザーのビジネスシナリオには、読み取りの増加と書き込みの減少、予測できない業務の負荷といったシナリオがあります。ただし、読み取りリクエスト数が多いアプリケーションシナリオでは、単一のインスタンスが読み取りのプレッシャーに耐えられない場合があり、業務に影響を与える可能性もあります。 読み取り機能のフレキシブルな拡張を実現し、データベースのプレッシャーを分担するために、1つ以上の読み取り専用インスタンスを作成し、読み取り専用インスタンスを利用して多数のデータベース読み取り要件を満たすことができます。ただし、このタイプのソリューションでは、業務側が読み取り/書き込み分離の変換をサポートする必要があります。そのコードのロバスト性によって、ビジネスの読み取り/書き込み分離の品質が決まるため、顧客に対する技術的要件が高く、柔軟性とスケーラビリティが低くなります。
したがって、読み取り専用インスタンスの作成後、データベースプロキシを購入することで読み取り/書き込み分離機能を有効にし、データベースプロキシアドレスをアプリケーションで設定することによって、書き込みリクエストをマスターインスタンスに、読み取りリクエストを各読み取り専用インスタンスに自動的に転送できます。

データベースプロキシによりリード・ライト分離機能を有効にする

ステップ1:データベースプロキシを有効にする

1. MySQLコンソールにログインし、インスタンスリストで、プロキシの有効化が必要なマスターインスタンスを選択し、インスタンスIDまたは操作の列の管理をクリックし、インスタンス管理ページに進みます。
2. インスタンス管理ページで、データベースプロキシページを選択し、今すぐ有効化をクリックします。


3. ポップアップしたダイアログボックスで、仕様ノードを選択し、OKをクリックし、ページを更新します。
ネットワークタイプ:VPCのみをサポートします。デフォルトではマスターインスタンスと一致します。
プロキシ仕様:2コア4000MBメモリ、4コア8000MBメモリ、8コア16000MBメモリ。
ノードの個数:プロキシノードの個数。推奨プロキシ個数は、マスターインスタンスと読み取り専用インスタンスのCPUコア数合計の1/8(切り上げ)です。例えば、マスターインスタンスが4コアのCPUで、読み取り専用インスタンスが8コアのCPUの場合、推奨プロキシ数=(4+8)/8 ≒2となります。
接続プール状態:接続プールは短い接続が頻繁に新しい接続を確立することで、インスタンスの負荷が高くなるという問題を効果的に解決できます。
セキュリティグループ:重要なネットワークセキュリティ隔離手段であり、必要に応じて既存のセキュリティグループまたはセキュリティグループの新規作成を選択することができます。


4. 有効になると、データベースプロキシページで基本情報の表示、プロキシノードの管理、データベースプロキシアドレスの変更、構成の調整などを行うことができます。
説明:
プロキシノードリストの接続数を確認するか、各プロキシノードのパフォーマンス監視を確認することで、各ノードへのアクセスが偏っているかどうかを判断することができます。各プロキシノードへの接続数が偏っている場合、リロードバランシングをクリックして接続を分散させることができます。
リロードバランシングはプロキシノードの再起動をトリガーし、再起動中は一時的にサービスが利用できなくなります。 オフピーク時にサービスを再起動することをお勧めします。業務に再接続メカニズムが備わっていることを確認してください。


ステップ2:データベースプロキシのリード・ライト分離を有効にする

1. MySQL コンソールにログインします。
2. 上側でリージョンを選択し、インスタンスIDまたは操作列の管理をクリックすると、インスタンス管理画面が表示されます。
3. インスタンス管理画面のデータベースプロキシで、読み取り/書き込み分離を選択し、今すぐ有効にするをクリックします。


4. 表示されたダイアログボックスで、設定を選択して、OKをクリックします。
ご注意:
状態が実行中のマスターインスタンスと読み取り専用インスタンスのみ、データベースプロキシに追加することができます。
現在、クロスリージョンROと遅延ROは、データベースプロキシの下にマウントすることはできません。
読み取り専用インスタンスの排除:排除ポリシーを有効にするかを設定します。読み取り専用インスタンスでレプリケーションの異常(レプリケーション遅延、レプリケーション中断)が発生した時、データベースプロキシは読み取り専用インスタンスを読み取り/書き込み分離から一時的に外します。遅延排除閾値はデフォルトで10秒で、読み取り専用インスタンスの最小保留数は1個となります。
説明:
読み取り専用インスタンス排除は閾値とインスタンスの最小保留数を設定後、新たな接続に対してのみ有効となります。
遅延排除閾値:読み取り専用インスタンスがマスターインスタンスのデータと同期を取るときに許容される最大遅延時間。読み取り専用インスタンスの遅延時間が閾値を超えた場合、この読み取り専用インスタンスのウェイトがいくらかにもかかわらず、読み取りリクエストはこの読み取り専用インスタンスに転送されません。値の範囲は1以上の整数です。
読み取り専用インスタンスの遅延が閾値を超えた時は排除され、排除されたインスタンスの重みは自動的に0に設定されます。また、システムがユーザーにアラームを出します(まず「データベースプロキシマウントノードの排除」アラームをサブスクリプトしてください。設定については アラーム機能をご参照ください)。
読み取り専用インスタンスの遅延が閾値より小さい時は、新たにデータベースプロキシに追加されます。同時に、遅延排除機能が有効かどうかに関わらず、読み取り専用インスタンスの障害が排除された後、インスタンスが修復されるのを待って新たにデータベースプロキシに追加されます。
読み取り専用の最小保留数の設定により、データベースプロキシが現在のルート中の読み取り専用インスタンスが設定された値よりも小さいことがわかった時は、読み取り/書き込み分離に関与する読み取り専用インスタンスの個数が最小保留数を満たすまで、異常のある読み取り専用インスタンスを読み取り/書き込み分離に戻します。
ご注意:
読み取り専用データベースで致命的な障害(クラッシュなど)が発生した時、最小保留数を致命的な障害が発生したインスタンスに適用できません。
読み取り専用インスタンス最小保留数:確保しなければならないインスタンスの最小数。既存の読み取り専用インスタンス数がこの最小値以下であり、かつ遅延時間が閾値を超えた場合、既存の読み取り専用インスタンスはいずれも排除されません。
読み取りウェイト割当:インスタンスに読み取りウェイトを割り当てます。システムによる自動割当かカスタムを指定できます。割り当てるウェイトの範囲は0 - 100の整数です。読み取りウェイト割当を設定すると、直ちにすべての接続に反映されます。
データベースプロキシは、重みの設定に従って読み取りリクエストのトラフィックを割り当てます。例えば、2つの読み取り専用データベースの重みがそれぞれ10と20の場合、それらの読み取りリクエストのトラフィックは1:2の比率で割り当てられます。
重みは読み取りリクエストの重みのみで、書き込みリクエストはマスターデータベースに直接ルーティングされ、重みの計算には関与しません。 例えば、クライアントが10個の書き込みステートメントと10個の読み取りステートメントを送信し、マスターデータベースと読み取り専用データベースの重み比が1:1の場合、マスターデータベースは10個の書き込みステートメントと5個の読み取りステートメントを受信し、読み取り専用データベースは5個の読み取りステートメントのみ受信することになります。
システムによる重みの自動割り当てを選択した時、システムはインスタンスのCPUとメモリの仕様に基づいて自動的に重みを割り当てます。このときに設定できるのはマスターインスタンスの重みのみです。
読み取り専用インスタンスの重みが0の場合、データベースプロキシはこの読み取り専用インスタンスへの接続を構築することはありません。読み取り専用インスタンスの重みを0から非0に変更しても、重みはすぐに有効とならず、新規接続に対してのみ有効となります。
フェイルオーバー:有効にするかを設定します。有効にすることを推奨します。読み取り専用インスタンスに異常が発生した場合、データベースプロキシは読み取リクエストをマスターインスタンスへ送信します。
説明:
フェイルオーバー設定後は、新規接続に対してのみ有効となります。
読み取り専用インスタンスの自動追加:有効にするかを設定します。有効に設定した場合、新しい読み取り専用インスタンスを購入すると、自動的にデータベースプロキシに追加されます。
読み取り重みがシステムによる自動割当の場合、新たに購入した読み取りインスタンスに対して、仕様に応じたデフォルト重みを割り当てます。
読み取り重みがカスタムの場合、新たに購入した読み取りインスタンスを追加する時、その重みはデフォルトで0とします。データベースプロキシ読み取り/書き込み分離を調整することで、重みを変更できます。



データベースプロキシのリード・ライト分離を有効にすることに成功した

データベースプロキシのリード・ライト分離が正しく有効になると、データベースプロキシページは次のとおりです。



関連ドキュメント

ヘルプとサポート

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

フィードバック