アクティブ リポジトリとスタンバイ リポジトリ間のデータ レプリケーションの遅延をlagと呼びます。遅延がユーザー指定の遅延のしきい値を超えると、TVIアラート4604002がトリガーされます。
プロパティsync.data.lagging.thresholdがsync.propertiesファイルのしきい値を指定します。
Postgresトランザクション プロセスは、ログ先行書き込み (WAL)と呼ばれます。
同期サービスが低速の場合、sync.logは次の情報を報告します。
- sending_lag: 生成済みで、まだスタンバイ サーバーに送信されていないWALの数。
- receiving_lag: 送信済みで、まだ書き込まれていないネットワーク内のWALの数。
- write_lag: 書き込み済みで、まだ永続ストレージに移動されていないWALの数。Postgresがクラッシュした場合、これらの変更は失われます。
- replaying_lag: 永続ストレージに移動済みで、まだ再生されていないWALの数。
それぞれのメッセージでは、システムが遅くなる原因として以下が考えられます。
- sending_lag:
- アクティブ リポジトリのパフォーマンスの問題(高負荷状態など)
- アクティブ リポジトリとスタンバイ リポジトリ間のネットワークの低スループット
- スタンバイ サーバーが起動前に長時間オフラインになっている
- receving_lag:
- アクティブ リポジトリとスタンバイ リポジトリ間のネットワークの低スループット
- スタンバイ リポジトリのパフォーマンスの問題(高負荷状態など)
- write_lagおよびreplay_lag
- 使用率が高すぎるストレージ、リカバリ プロセスのスタック、スタンバイの高負荷状態など、スタンバイ パフォーマンスの問題