Bir dizinin mongodb içinde RAM veya Diskte bulunup bulunmadığını bulmanın en iyi yolu nedir? Bir yandanDizin RAM'de mi yoksa Diskte mi [MongoDB] bulunmalı?
cevap
, sadece dizinin bazı bölümleri
endeksler her durumda RAM'e tamamen uyacak gerekmez RAM http://docs.mongodb.org/manual/applications/indexes/#indexing-right-handed içindedir tamamen mümkündür. Dizine eklenmiş alanın değeri her ekleme ile büyürse ve çoğu sorgu son eklenen belgeleri seçerse; daha sonra MongoDB'nin sadece RAM'de en yeni veya “en sağdaki” değerleri tutan dizinin bölümlerini tutması gerekir. Bu, okuma ve yazma işlemleri için verimli indeks kullanımına olanak sağlar ve endeksi desteklemek için gereken RAM miktarını en aza indirir.
Diğer taraftan, db.serverStatus()
, istediğiniz bilgilerin bir toplamını verir. http://docs.mongodb.org/manual/reference/server-status/#server-status-indexcounters kontrol edin:
indexCounters.btree.hits
değer bir indeks erişilebilir ve mongod bellekten endeksi iade edebilir edildiğini sayısını yansıtır.
Teşekkür kontrol yardımcı olur. Ben db.serverStatus() denedim. IndexCounters.btree' Ama Her sıfır ile bir nesneyi gösterir. '\t { \t \t "kere": 0, \t \t "hit": 0, \t \t "başarılı": 0, \t \t "sıfırlar": 0, \t \t "missRatio" 0 \t} ' Sorguyu birkaç kez çalıştırdım ve sorgum bir dizin kullanıyor. açıkla() bunu gösterir. Nedenini bulabilir misin? –
Hangi sürüme çalışıyorsunuz? Dokümanlar, "2.2 ve sonrasında bu verilerin gerçek dizin kullanımını yansıttığını" belirtiyor. – chx
2.2.0 olduğunu, 2.2.1 sürümüne gidip sonuçları göreceğim. –
Evet, bir yolu var. Sen bayt toplama endeksi boyutunu dönecektir endeksinin
> db.collection.totalIndexSize()
> 1073741824
> db.collection.stats()
> {
"ns" : "collection.test",
"count" : 100006,
"size" : 72104,
"avgObjSize" : 4506.5,
"storageSize" : 688128,
"numExtents" : 3,
"nindexes" : 1,
"lastExtentSize" : 524288,
"paddingFactor" : 1.0170000000000319,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 1073741824,
"indexSizes" : {
"_id_" : 1073741824
},
"ok" : 1
Hem boyutunu kontrol etmek totalIndexSize()
veya stats()
kullanabilirsiniz. Yukarıdaki örnek, dizin boyutunun 1GB
olduğunu göstermektedir.
GÜNCELLEME
tüm veritabanının toplam endeks boyutunu bulmak için, indeks bellekte uyup uymadığını kontrol etmek Makine RAM indexSize
karşılaştırabilirsiniz Şimdi stats()
> db.stats()
{
"db" : "test",
"collections" : 10,
"objects" : 5909990,
"avgObjSize" : 2888.31186440677965,
"dataSize" : 17,
"storageSize" : 14745603499,
"numExtents" : 17,
"indexes" : 8,
"indexSize" : 1073741824,
"fileSize" : 50331648,
"nsSizeMB" : 163453,
"ok" : 1
}
kullanabilirsiniz ya da değil. Ve tam indeksi karşılamak için RAM boyutunu artırabilirsiniz.
o
- 1. Dizin var mı, yoksa linux değil mi?
- 2. Önek mi yoksa boole değerlerine mi ait
- 3. x86 RISC mi yoksa CISC mi?
- 4. Başlıkları içeride mi yoksa vizeyle mi?
- 5. MongoDB acemi - normale döndürmek mi normalleştirmek mi?
- 6. App_offline.htm mevcut istekleri mi yoksa sadece yeni istekleri mi engeller?
- 7. Karşılaştırıcılar her seferinde mi, yoksa sadece bir kez mi uygulanmalıdır?
- 8. Döküm arayüzü somut uygulama nesnesine mi yoksa tersine mi?
- 9. Özellik, sürekli bir özellik mi yoksa (A => B) mi?
- 10. iOS statik mi yoksa dinamik bir çerçeve mi?
- 11. Json sonuçlarının nesne mi yoksa dizi mi olduğunu belirleyin
- 12. Bir işlev mi yoksa tip yöntemi mi kullanıyorsunuz?
- 13. Bir modülün/helpers içine mi yoksa/libresine mi yerleştirilmesindeki farklılıklar?
- 14. DBpedia kaynaklarının Şehirler mi yoksa Ülkeler mi olduğunu belirleme
- 15. Tek satır 'var' bildirimleri mi, yoksa satır başına bir mi?
- 16. Stil içindeki kimliklerin tanımlanması güvenli mi yoksa bir felaket mi?
- 17. Veri ek açıklamaları Modelde mi yoksa Görünüm Modelinde mi?
- 18. JSON Unicode çıkış dizisi - küçük harf mi yoksa değil mi?
- 19. Tablo Boyutu Dizin içerir mi?
- 20. Wonder: MongoDB _id varsayılan olarak benzersiz mi?
- 21. Kod Yorumlama: Kod açıklamalarınızı Arayüzlere mi yoksa Beton sınıflarına mı yoksa her ikisine mi yazıyorsunuz?
- 22. Bir dizgenin iki karakterini nasıl çift yapabilirim, yoksa tek mi, yoksa tek mi?
- 23. Django şablonları: Değişkenin listede mi yoksa
- 24. Verilen nesnenin nesne mi, yoksa JSON dizesi
- 25. Nesnede var mı yoksa javascriptte mi var
- 26. Javadoc yorum. İhtiyacınız mı yoksa gereksiz mi?
- 27. Bir değerin ilkel mi yoksa kutulu mu
- 28. GUI? Yoksa sadece XAML ile mi?
- 29. Bir giriş yoksa, aksi halde güncellenir mi?
- 30. Dizginin son eki mi yoksa uzantı mı?
benim güncellenen cevap – RameshVel