Problem neden önemlidir?
Kalıcı cache baskısı daha fazla eviction ve disk okumasıyla sorgu gecikmesini artırabilir. Yüksek kullanım tek başına sorun kanıtı değildir çünkü cache kullanılmak üzere tasarlanmıştır.
Nasıl teşhis edilir?
serverStatus().wiredTiger.cache içindeki byte ve eviction sayaçlarını zaman içinde karşılaştırın. Bulguları çalışma kümesi, disk gecikmesi ve sorgu hacmiyle ilişkilendirin.
WiredTiger sayaç adları sürüme göre genişleyebilir. Tek örnek yerine sayaçların zaman içindeki farkları yorumlanmalıdır.
const c = db.serverStatus().wiredTiger.cache;
({bytesInCache: c["bytes currently in the cache"], maxBytes: c["maximum bytes configured"], pagesRead: c["pages read into cache"], pagesWritten: c["pages written from cache"]})Güvenli çözüm yaklaşımı
Önce verimsiz sorguları, eksik indeksleri ve gereksiz büyük sonuçları azaltın. Bellek veya veri yerleşimi değişikliklerini ancak çalışma kümesi analizi destekliyorsa planlayın.
Sürekli monitoring neden gerekir?
Sürekli izleme, normal cache doluluğuyla büyüyen eviction baskısını ayırmayı sağlar. moon düşük ek yükle eğilimleri izleyip uyarıları Slack, PagerDuty veya webhook'a yönlendirir.
Sık sorulan sorular
Cache doluluğunun yüksek olması alarm nedeni midir?
Tek başına değildir, çünkü kullanılabilir cache'in dolması normaldir. Eviction, disk ve gecikme eğilimleri birlikte değerlendirilmelidir.
moon bu konuda nasıl yardımcı olur?
moon, SQL Server, PostgreSQL ve MongoDB sinyallerini sürekli izleyerek problemi anlık bir kontrolden ziyade zaman içindeki davranışıyla değerlendirmeye yardımcı olur.