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.
const out = [];
db.getCollectionInfos({ type: "collection" }).forEach(c => {
db.getCollection(c.name).aggregate([{ $indexStats: {} }]).forEach(i => {
if (i.name !== "_id_" && i.accesses.ops === 0) {
out.push({ collection: c.name, index: i.name, key: JSON.stringify(i.key), since: i.accesses.since });
}
});
});
console.table(out);İstatistikler yeniden başlatmada sıfırlanır. Her replica set üyesinde ayrı toplanır. Silmeden önce `db.coll.hideIndex("name")` (4.4+) ile deneyin.
- 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: 3.2) 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.
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 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.
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.