Oplog penceresini ve replication lag'i ölç
MongoDBReplica SetKomut
// Oplog boyutu ve kapsadigi sure (oplog window):
rs.printReplicationInfo()
// Her secondary'nin primary'ye gore gecikmesi:
rs.printSecondaryReplicationInfo()
// Izleme/script icin saniye cinsinden lag ve sync kaynagi:
const s = rs.status(); const p = s.members.find(m => m.stateStr === "PRIMARY");
s.members.filter(m => m.stateStr === "SECONDARY").map(m => ({ host: m.name, lagSec: (p.optimeDate - m.optimeDate) / 1000, syncSource: m.syncSourceHost }))
// Pencere (saat):
db.getReplicationInfo().timeDiffHoursNe yapar?
Oplog'un kaç saatlik yazmayı tuttuğunu (oplog window) ve her secondary'nin primary'nin kaç saniye gerisinde olduğunu, sync kaynağıyla birlikte gösterir.
Ne zaman kullanılır?
Replication lag alarmında, planlı bakımdan önce bir üyenin ne kadar süre kapalı kalabileceğini hesaplarken ve toplu yazma işlerinden sonra.
Dikkat
Bir üyenin kapalı kalma süresi oplog window'u aşarsa üye 'too stale' olur ve initial sync gerekir. Toplu update/delete işleri pencereyi saatler içinde daraltabilir; window'u yoğun saatteki değerine göre değerlendir. Lag hesabı optimeDate farkına dayanır; primary'ye hiç yazma gelmiyorsa lag yüksek görünmez ama pencere yine daralmaz.