Kami memperhatikan pola HADR_SYNC_COMMIT
menunggu yang menarik di lingkungan kami. Kami memiliki tiga replika; satu primer, satu sinkronisasi sekunder dan satu asinkron sekunder dalam pusat data dan kami baru saja menambahkan tiga replika ASYNC lainnya dalam pusat data lain (~ terpisah 2.400 mil).
Sejak itu, kami mulai melihat peningkatan yang sangat besar dalam HADR_SYNC_COMMIT
menunggu. Ketika kita melihat sesi aktif, kita melihat banyak COMMIT TRANSACTION
pertanyaan menunggu pada replika SYNC
Dari tangkapan layar, kita dapat dengan jelas melihat ada lompatan dalam HADR_SYNC_COMMIT
menunggu pada tanggal 29 Juni, dan kami akhirnya menjatuhkan 'dua' dari tiga replika async di pusat data jarak jauh sekitar tengah hari pada tanggal 1 Juli. Itu membuat waktu tunggu sangat lama.
Apa yang telah kami periksa sejauh ini - Log antrian kirim, Ulangi antrian, waktu hardened terakhir dan waktu komit terakhir pada replika jarak jauh. Kami memiliki semburan transaksi kecil terus menerus selama jam kerja, dan oleh karena itu antrian pengiriman cukup kecil pada stempel waktu tertentu (di mana saja antara 60KB dan 1MB).
Replika jarak jauh hampir sinkron, ada sedikit perbedaan antara waktu komit terakhir dan waktu yang diperkeras terakhir untuk setiap lsn individu pada replika.
Pipa jaringan adalah 10G dan kami memodifikasi ukuran buffer transmisi dari 256 MB menjadi 2 gigs, ini dibuat dengan asumsi bahwa jaringan menjatuhkan paket dan mentransmisikannya kembali; apa pun itu tampaknya tidak banyak membantu.
Jadi, saya bertanya-tanya apa hubungannya replika ASYNC dengan HADR_SYNC_COMMIT
menunggu? Bukankah replika SYNC bergantung pada jenis menunggu ini saja, apa yang saya lewatkan di sini?