同時読み取りを持つコレクションと、同じコレクションを更新するアプリケーションの一部がありますが、ロード中に各読み取りおよび更新操作に非常に時間がかかり、時間とともに非常に遅くなります
ここにいくつかのクエリのログがあります
nscanned:4 nupdated:2 keyUpdates:3 numYields: 1 locks(micros) w:2475463 10247ms
nscanned:4 nupdated:2 keyUpdates:2 numYields: 1 locks(micros) w:2077481 1054ms
コレクションには 70K レコードしかありません。同時読み取りと書き込みはほぼ 10 です。
これは私がすでにやったことです
3 メンバーのレプリカ セットによるシャーディング
シャーディング キーはハッシュされ、データベース レベルとコレクション レベルの両方のシャーディングが有効になります
各レプリカボックスには十分なパワーとRAMがあります。
クエリはインデックスでバインドされて
db.collection.find().explain()
おり、この出力があります{ "cursor" : "BtreeCursor fp.ulc_1_c_1_p_1", "isMultiKey" : true, "n" : 0, "nscannedObjects" : 2, "nscanned" : 2, "nscannedObjectsAllPlans" : 2, "nscannedAllPlans" : 2, "scanAndOrder" : false, "indexOnly" : false, "nYields" : 0, "nChunkSkips" : 0, "millis" : 0, "indexBounds" : { "fp.ulc" : [ [ "0ca01c47c984b5583d455e42aafded2c", "0ca01c47c984b5583d455e42aafded2c" ] ], "c" : [ [ false, false ] ], "p" : [ [ 1372062247612, 1.7976931348623157e+308 ] ] } }
また、セカンダリで読み取り設定を設定しようとしましたが、しばらくすると遅くなります また、mongostat のロックが mongostat から出力されることにも気付きました
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn set repl time
*0 *0 6 *0 4 2|0 0 54.4g 109g 1.74g 0 collectDb:199.7% 0 6|0 0|1 3k 130k 21 set1 PRI 08:27:55
*0 *0 15 *0 11 8|0 1 54.4g 109g 1.74g 0 collectDb:200.1% 0 6|0 0|1 11k 357k 21 set1 PRI 08:27:58
7 *0 34 *0 18 26|0 0 54.4g 109g 1.75g 0 collectDb:202.9% 0 6|0 0|1 36k 362k 21 set1 PRI 08:28:00
1 *0 13 *0 8 7|0 0 54.4g 109g 1.75g 0 collectDb:192.3% 0 6|0 0|1 12k 287k 21 set1 PRI 08:28:03
1 *0 9 *0 7 8|0 0 54.4g 109g 1.75g 0 collectDb:196.1% 0 6|0 0|1 5k 258k 21 set1 PRI 08:28:04
5 *0 20 *0 10 13|0 0 54.4g 109g 1.75g 0 collectDb:207.7% 0 6|0 0|1 23k 214k 21 set1 PRI 08:28:08
8 *0 38 *0 21 29|0 0 54.4g 109g 1.74g 0 collectDb:215.9% 0 5|0 0|1 40k 548k 21 set1 PRI 08:28:12
6 *0 44 *0 24 22|0 0 54.4g 109g 1.75g 0 collectDb:199.5% 0 3|0 0|1 45k 509k 21 set1 PRI 08:28:15
2 4 27 *0 11 28|0 0 54.4g 109g 1.75g 0 collectDb:169.2% 0 6|0 0|1 21k 318k 21 set1 PRI 08:28:18
2 *0 29 *0 18 20|0 0 54.4g 109g 1.74g 0 collectDb:255.5% 0 5|0 0|1 28k 588k 21 set1 PRI 08:28:24