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
-