WiredTiger cache baskısını ölç (doluluk, dirty oranı, application eviction)
MongoDBPerformansKomut
const c = db.serverStatus().wiredTiger.cache;
const max = c["maximum bytes configured"];
({
maxGB: (max / 1024 ** 3).toFixed(1),
usedPct: (100 * c["bytes currently in the cache"] / max).toFixed(1),
dirtyPct: (100 * c["tracked dirty bytes in the cache"] / max).toFixed(1),
appThreadEvictedPages: c["pages evicted by application threads"],
pagesReadIntoCache: c["pages read into cache"]
})
// Read/write ticket kullanimi ve kuyruk:
db.serverStatus().wiredTiger.concurrentTransactionsNe yapar?
WiredTiger cache'in boyutunu, doluluk ve dirty yüzdesini, uygulama thread'lerinin eviction yapmak zorunda kaldığı sayfa sayısını ve read/write ticket durumunu gösterir.
Ne zaman kullanılır?
Disk okuma artışı, ani gecikme sıçramaları veya yazma throughput düşüşü yaşandığında; cache boyutlandırması yaparken.
Dikkat
Doluluk %80'i (eviction_target) aşınca arka plan eviction başlar, %95'e (eviction_trigger) ulaşınca uygulama thread'leri de eviction'a girer ve sorgular yavaşlar. Dirty oranı %5 hedef, %20 tetikleme eşiğidir; sürekli %20'ye yakınsa disk yazma kapasitesi yetmiyor demektir. pages evicted by application threads sayacının artması doğrudan kullanıcıya yansıyan gecikmedir. Değerler kümülatif sayaçlardır; iki ölçüm arasındaki farka bak.