Apakah ada cara kita bisa mencari tahu apa semua indeks di-cache ke RAM? Saya ingin tahu statistik terkait halaman untuk indeks individual (# hit dan miss)
Anda bisa mendapatkan info klik keseluruhan (contoh lebar) dari db.serverStatus()
perintah, dan khususnya:
http://docs.mongodb.org/manual/reference/command/serverStatus/#serverStatus.indexCounters.hits http://docs.mongodb.org/manual/reference/command/serverStatus/#serverStatus.#exverver.misses
Angka-angka ini adalah total yang terlihat selama masa proses, jadi jika Anda ingin mendapatkan nilai atau melihat tren dari waktu ke waktu, maka Anda perlu mencatatnya secara berkala dan menyesuaikan nilainya. Untungnya, jika Anda menginstal Pemantauan MMS , itu akan melakukannya untuk Anda dan membuat grafik hasilnya.
Namun, saat ini tidak ada statistik per-indeks yang tersedia. Permintaan fitur yang relevan dapat ditemukan di sini untuk tujuan pelacakan dan pemungutan suara:
https://jira.mongodb.org/browse/SERVER-2227
Pembaruan: Januari 2016
Statistik yang dirujuk di atas telah dihapus dari output perintah status server, jadi tidak lagi tersedia. Namun, permintaan fitur yang direferensikan sekarang lengkap dan tersedia dalam versi 3.2 dalam bentuk $indexStats
operator agregasi (dokumen yang ditautkan juga berisi output sampel). Untuk kelengkapan, inilah contoh yang saya kumpulkan:
Sebelum setiap pertanyaan, saya hanya memiliki 2 indeks, default _id
dan indexme
, keduanya dengan 0 ops:
> db.foo.aggregate( [ { $indexStats: { } } ] ).pretty()
{
"name" : "indexme_1",
"key" : {
"indexme" : 1
},
"host" : "localhost:27017",
"accesses" : {
"ops" : NumberLong(0),
"since" : ISODate("2016-01-12T19:03:01.358Z")
}
}
{
"name" : "_id_",
"key" : {
"_id" : 1
},
"host" : "localhost:27017",
"accesses" : {
"ops" : NumberLong(0),
"since" : ISODate("2016-01-12T18:59:24.292Z")
}
}
Kemudian jalankan beberapa temuan untuk menabrak operasi indexme
dan periksa lagi:
> db.timecheck.find({indexme: 33})
> db.timecheck.find({indexme: 55})
> db.timecheck.aggregate( [ { $indexStats: { } } ] ).pretty()
{
"name" : "indexme_1",
"key" : {
"indexme" : 1
},
"host" : "localhost:27017",
"accesses" : {
"ops" : NumberLong(2),
"since" : ISODate("2016-01-12T19:03:01.358Z")
}
}
{
"name" : "_id_",
"key" : {
"_id" : 1
},
"host" : "localhost:27017",
"accesses" : {
"ops" : NumberLong(0),
"since" : ISODate("2016-01-12T18:59:24.292Z")
}
}