Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon クロスリージョンの複製は、MySQLのパフォーマンスにどのように影響しますか


クロスリージョンの複製は、MySQLのパフォーマンスにどのように影響しますか


MySQLのクロスリージョンレプリケーションは、1つの地理的領域のプライマリデータベースから異なる領域の1つまたは複数のレプリカデータベースにデータを非同期にコピーする方法であり、ネットワークレイテンシ、レプリケーションラグ、ワークロード分布、およびリソース割り当てにリンクされたさまざまな要因を通じてパフォーマンスに影響します。

###ネットワークレイテンシとレプリケーションラグ

主要なパフォーマンスの影響は、領域間のネットワーク遅延の増加から生じます。クロスリージョンレプリケーションは、長距離ネットワークリンク上のデータ変更を含むバイナリログイベントの送信に依存しているため、物理的な距離は大きな伝播遅延を引き起こす可能性があります。これにより、レプリカが変更を適用する際にプライマリに遅れをとるレプリカラグの増加につながります。レプリケーションラグは、レプリカからの最新のデータに依存するアプリケーションの読み取りの一貫性に影響を与え、災害復旧シナリオのフェイルオーバー時間を増やすことができます。

複数の原因のためにレプリケーションラグが発生します。

- プライマリサーバーは、迅速に変更を送信していません。
- ネットワークは、変更の転送に遅れます。
- レプリカサーバーが変更を迅速に適用できないこと。

観察されたラグの合計は、ネットワークレイテンシと処理レイテンシの両方によるものです。監視ツールは、ネットワークラグやレプリカラグなどのメトリックを追跡して、ボトルネックを診断します。

###レプリカサーバーの影響とリソースの使用

レプリカ側では、プライマリからの変更を適用することには、I/OとCPUの作業が含まれます。これは、特にアプリケーションの読み取りクエリを同時に処理している場合、レプリカの全体的なパフォーマンスに影響を与える可能性があります。複製負荷が高いと、競合とリソースの飽和につながり、レプリカのクエリ応答時間が遅くなります。

複数のトランザクションを同時に適用することにより、レプリカに並列レプリケーションスレッドを使用すると、アプリケーションの遅延の一部が軽減され、レプリケーションスループットが改善されます。さらに、高性能フラッシュなどのオプションの構成( `innodb_flush_log_at_trx_commit`および` sync_binlog`パラメーターの調整)は、書き込みと複製の効率を改善することができます。

###プライマリサーバーのパフォーマンスへの影響

プライマリサーバーには、複製により負荷インパクトがもたらされます。下流のレプリカのバイナリログにすべての変更を記述する必要があります。これは、通常のトランザクション処理に加えて追加のオーバーヘッドです。多くのレプリカが接続されているため、特にネットワークのスループットと信頼性が異なるクロスリージョンは、プライマリがレプリケーションストリームを維持するリソース消費の増加を経験する可能性があります。

これを緩和する1つの方法は、複製階層です。プライマリが単一の中間レプリカに複製し、追加のレプリカにファンし、プライマリの負荷を減らします。

###ワークロードの分布とスケーラビリティ

クロスリージョンレプリケーションは、ロケーションの近くで読み取りレプリカを提供し、エンドユーザーのレイテンシーを改善することにより、さまざまなグローバル地域のユーザーに近い読み取りワークロードのスケーリングをサポートします。ただし、ワークロードを書くことは、ボトルネックになる可能性のある主要なインスタンスに依然として収束しています。

多くの行を更新するプライマリ上の大規模なトランザクションは、複製データにスパイクを引き起こす可能性があり、レプリカの作業を適用し、レプリケーションラグを引き起こすレプリケーションのバーストにつながります。大規模なトランザクションをより小さなバッチに壊すことで、複製のひずみを減らすことができます。

###スキーマとクエリの設計上の考慮事項

主要なキーのないテーブルやDDL操作が多い場合、複製の性能を低下させるか、排他的なロックを引き起こし、地域全体で潜時の問題を引き継ぐことができます。通常、効率のために主要なキーを必要とする行ベースの複製を使用することをお勧めします。

レプリカのクエリ分離レベルは、レプリケーションのアプリケーション速度にも影響し、一般に、ロックを長く保持するより高いレベルよりもレプリケーションイベントをより速く適用することができます。

###ネットワークとコストに関する考慮事項

地域クロスレプリケーションには、クラウドプロバイダーネットワーク全体のデータ転送が含まれ、コストや帯域幅の制限が発生する場合があります。これは、設計で説明する必要があり、間接的に複製速度と頻度を制約することができます。

###パフォーマンスへの影響の要約

- 物理的な距離とネットワークの遅延により、複製遅延の増加。
- バイナリロギングのプライマリおよび変更を適用するためのレプリカのより高いリソース消費。
- レプリカの潜在的なクエリパフォーマンス劣化は、リソースが集中している場合。
- 複製階層を介してバランスを負担すると、ボトルネックを減らすことができます。
- 複製効率に対する大規模なトランザクションとスキーマ設計の影響。
- クラウド環境でのデータ転送コストとスループットを備えたトレードオフ。

複製構成の調整、ワークロードの分割、スキーマの最適化、並列適用とフラッシングの最適化の使用により、MySQLクロスリージョンレプリケーションのパフォーマンスへの影響は、災害復旧、グローバルなスケーリング、地域移民などのユースケースに合わせて管理できます。ただし、固有のレイテンシとネットワークの制約は、同一の複製と比較して基本的な制限を課します。これには、地理的に分散したシステムでデータの鮮度と適用対応のバランスをとるために、慎重な計画と監視が必要です。