DBAtlas · Veritabanı operasyon atlası

WiredTiger cache baskısını ölç (doluluk, dirty oranı, application eviction)

MongoDBPerformans

Komut

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.concurrentTransactions

Ne 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.

DBAtlas'ta aç →

İlgili