MongoDB Yavaş Sorguları Profiler ile Analiz Etme
system.profile verisini gruplayarak en yavaş sorgu kalıplarını ve COLLSCAN durumlarını ortaya çıkarır. İndeks eksikliklerini tespit etmek için idealdir.
// Profiler'ı aç (100 ms üzeri): db.setProfilingLevel(1, { slowms: 100 })
db.system.profile.aggregate([
{ $match: { op: { $in: ["query", "command", "update", "remove"] }, ns: { $not: /system\.profile/ } } },
{ $group: { _id: { ns: "$ns", planSummary: "$planSummary" },
count: { $sum: 1 }, avg_ms: { $avg: "$millis" }, max_ms: { $max: "$millis" },
avg_docs_examined: { $avg: "$docsExamined" }, avg_returned: { $avg: "$nreturned" } } },
{ $sort: { avg_ms: -1 } },
{ $limit: 20 }
]);Üretim ortamında çalıştırmadan önce test ortamında doğrulayın. Salt okunur teşhis sorgusudur; sistem kilitlerine yol açmaz.
- Bu script salt okunur (read-only) teşhis için tasarlanmıştır; doğrudan veri veya şema değişikliği yapmaz.
- Ağır yük altındaki üretim sunucularında çalıştırmadan önce hedef veritabanı sürümünü (Min. Sürüm: 4.0) doğrulayın.
- İlişkili oturumu sonlandırma veya indeks silme gibi yazma etkili aksiyonlar için notlar bölümündeki komutları temkinli uygulayın.
Mühendislik Triadı: İlgili Runbook ve Kriz Müdahaleleri
Bu script hangi üretim alarmlarında ve acil durum tatbikatlarında teşhis adımı olarak çalıştırılır?
MongoDB Yavaş Sorgu ve COLLSCAN: İndeks Eksikliğini Teşhis Etme
Taranan/dönen doküman oranını, profiler ve explain çıktısını birleştirerek pahalı sorguyu bulur; uygun indeksi düşük riskle devreye alır.
MongoDB Assert Sayıları Artıyor: Sunucu Hatası mı İstemci Hatası mı?
Artan regular, msg, warning ve user assert sayaçlarını log ve uygulama hatalarıyla ilişkilendirip üretim etkisini ve güvenli müdahale adımlarını belirler.
Diğer MONGODB Teşhis Scriptleri
Tümünü Gör (100)MongoDB'de Uzun Süren İşlemleri Bulma (currentOp)
5 saniyeden uzun süren aktif işlemleri plan özeti ve kilit bekleme bilgisiyle listeler. Yavaşlama anında sonlandırılacak işlemi bulmanıza yardımcı olur.
MongoDB Koleksiyon ve İndeks Boyutları
Her koleksiyon için doküman sayısı, veri, depolama ve indeks boyutunu sıralar. Kapasite planlaması ve şişen indeksleri yakalamak için kullanılır.
MongoDB Kullanılmayan İndeksleri Bulma ($indexStats)
Hiç kullanılmamış indeksleri koleksiyon bazında listeler. Yazma maliyetini ve bellek kullanımını azaltmak için temizlik adayı sunar.
MongoDB Replica Set Gecikmesi ve Oplog Penceresi
Üyelerin durumunu, primary'ye göre gecikmesini ve oplog penceresini gösterir. Replikasyon sağlığı ve resync riskini izlemek için kullanılır.