Mengukur lag replikasi di antara anggota pgactive - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengukur lag replikasi di antara anggota pgactive

Anda dapat menggunakan kueri berikut untuk melihat lag replikasi di antara pgactive anggota. Jalankan kueri ini di setiap pgactive node untuk mendapatkan gambaran lengkap.

app=> SELECT * FROM pgactive.pgactive_get_replication_lag_info(); │-[ RECORD 1 ]--------+--------------------------------------------- │node_name | node2-app │node_sysid | 7481018224801653637 │application_name | pgactive:7481018224801653637:send │slot_name | pgactive_16385_7481018224801653637_0_16385__ │active | t │active_pid | 783486 │pending_wal_decoding | 0 │pending_wal_to_apply | 0 │restart_lsn | 0/2108150 │confirmed_flush_lsn | 0/2154690 │sent_lsn | 0/2154690 │write_lsn | 0/2154690 │flush_lsn | 0/2154690 │replay_lsn | 0/2154690 │-[ RECORD 2 ]--------+--------------------------------------------- │node_name | node1-app │node_sysid | 7481018033434600853 │application_name | pgactive:7481018033434600853:send │slot_name | pgactive_16385_7481018033434600853_0_16385__ │active | t │active_pid | 783488 │pending_wal_decoding | 0 │pending_wal_to_apply | 0 │restart_lsn | 0/20F5AD0 │confirmed_flush_lsn | 0/214EF68 │sent_lsn | 0/214EF68 │write_lsn | 0/214EF68 │flush_lsn | 0/214EF68 │replay_lsn | 0/214EF68

Pantau diagnostik berikut minimal:

aktif

Siapkan peringatan saat aktif salah, yang menunjukkan bahwa slot saat ini tidak digunakan (instance pelanggan telah terputus dari penerbit).

pending_wal_decoding

Dalam replikasi logis PostgreSQL, file WAL disimpan dalam format biner. Penerbit harus memecahkan kode perubahan WAL ini dan mengubahnya menjadi perubahan logis (seperti menyisipkan, memperbarui, atau menghapus operasi).

Metrik pending_wal_decoding menunjukkan jumlah file WAL yang menunggu untuk didekodekan di sisi penerbit.

Jumlah ini dapat meningkat karena faktor-faktor ini:

  • Ketika pelanggan tidak terhubung, status aktif akan salah dan pending_wal_decoding akan meningkat

  • Slot aktif, tetapi penerbit tidak dapat mengikuti volume perubahan WAL

pending_wal_to_apply

Metrik pending_wal_apply menunjukkan jumlah file WAL yang menunggu untuk diterapkan di sisi pelanggan.

Beberapa faktor dapat mencegah pelanggan menerapkan perubahan dan berpotensi menyebabkan skenario penuh disk:

  • Perbedaan skema - misalnya, ketika Anda memiliki perubahan dalam aliran WAL untuk tabel bernama sampel, tetapi tabel itu tidak ada di sisi pelanggan

  • Nilai di kolom kunci primer diperbarui

  • Indeks unik sekunder dapat menyebabkan divergensi data