MongoDB'yi periyodik olarak ölçülen değerleri saklamak için kullanıyorum. Her ~ 100 msn'de bir demet değer belge olarak eklenir. İyi çalışıyor, ancak performans sorunları hakkında endişeliyim. (Güvenli ekler kullanıyorum, PyMongo'da sanki varsayılan bu gibi görünüyor.)
Mongod'un sabit diske kaydedebildiğinden saniyede daha fazla kesici uç varsa ne olur? Herhangi bir uyarı olacak mı ya da sessizce başarısız mı olacak?
Yazma yükünü izlemek için herhangi bir yöntem var mı? Sadece aradığımda db.serverStatus().writeBacksQueued
her zaman false olarak ayarlanmış olduğunu buldum. Yazma sırasını doldurmak için ne kadar veri girmem gerektiğini nasıl test edebilirim?
mongostat
kilitleri gösterir. Endişelenmem gereken bir şey mi var?
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn repl time
*117 *0 *0 *0 0 2|0 0 17.4g 35.3g 3.76g 0 .:6.5% 0 0|0 0|0 124b 6k 2 SLV 09:58:10
*111 *0 *0 *0 0 2|0 0 17.4g 35.3g 3.76g 0 .:0.8% 0 0|0 0|0 124b 6k 2 SLV 09:58:11
*111 *0 *0 *0 0 2|0 0 17.4g 35.3g 3.76g 0 .:4.2% 0 0|0 0|0 124b 6k 2 SLV 09:58:1
Yazma kilitleri hakkında endişelenmeli miyim? Yazma kilitli bir süre zarfında eke ne olur? Daha sonra sıraya alınmış ve depolanmış mı?
Bir ana ve bir köle kullanarak basit bir çoğaltma kurulumunu düşünüyorum. İlk senkronizasyon veya bir resync işlemi veritabanlarını kilitler mi?
(2.4.3 sürümünü kullanıyorum.)
Güncelleme: Sanırım kendi soruma kısmen cevap verdim. Küçük bir test dökümanı eklerken basit bir süre kullanarak saniyede 12.000 eklemeye başladım. Fakat qr | qw hala okuma ve yazma kuyruğunun hala boş olduğunu gösteriyor:
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn repl time
11234 *0 2 *0 1563 1|0 1 21.9g 44.3g 1.22g 0 testdb:58.9% 0 1|0 1|1 797k 980k 6 PRI 10:26:32
12768 *0 2 *0 1284 1|0 0 21.9g 44.3g 1.22g 0 testdb:58.0% 0 0|0 0|1 881k 1m 6 PRI 10:26:33
12839 *0 2 *0 1231 1|0 0 21.9g 44.3g 1.22g 0 testdb:60.3% 0 0|0 0|1 883k 1m 6 PRI 10:26:34
12701 *0 2 *0 910 1|0 0 21.9g 44.3g 1.22g 0 testdb:61.8% 0 0|0 0|1 858k 1m 6 PRI 10:26:35
12241 *0 2 *0 1206 1|0 0 21.9g 44.3g 1.22g 0 testdb:56.7% 0 0|0 0|0 843k 1m 6 PRI 10:26:36
11581 *0 2 *0 1406 1|0 0 21.9g 44.3g 1.22g 0 testdb:61.8% 0 0|0 0|1 811k 1m 6 PRI 10:26:37
8719 *0 2 *0 1210 1|0 0 21.9g 44.3g 1.22g 0 testdb:43.8% 0 0|0 0|1 618k 762k 6 PRI 10:26:38
11429 *0 2 *0 1469 1|0 0 21.9g 44.3g 1.22g 0 testdb:60.6% 0 0|0 0|1 804k 993k 6 PRI 10:26:39
12779 *0 2 *0 1092 1|0 0 21.9g 44.3g 1.22g 0 testdb:60.2% 0 1|0 0|1 872k 1m 6 PRI 10:26:40
12757 *0 2 *0 436 1|0 0 21.9g 44.3g 1.22g 0 testdb:59.7% 0 0|0 0|1 838k 432k 6 PRI 10:26:41
Sanırım bu, eklerin tek başına çok fazla sıkıntıya neden olmayacağı anlamına geliyor: “Büyük aralıklı kaldırımlar gibi diğer yazma ağır operasyonlarının yanında çok fazla yazma işlemi yapıyorsanız sıralar yükselir”. ( burada bulundu ]
Açık sorum: Yazma kuyruğu uzun vadede artarsa verilerime ne olur?