私たちの本番mongoは突然遅くなり始め、mongo dbを再起動すると問題はなくなります。パフォーマンスはミリ秒から数秒に低下し、再起動するまで回復しません (または十分に待機していない可能性があります)。mongo ログには何も表示されません。これはページフォールトが原因である可能性があると考えました
db.stats(1024*1024)
"db" : "xrr",
"collections" : 7,
"objects" : 605843,
"avgObjSize" : 3614.9300528354706,
"dataSize" : 2088,
"storageSize" : 2517,
"numExtents" : 57,
"indexes" : 41,
"indexSize" : 383,
"fileSize" : 8125,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
サーバーのステータスとワーキングセットが出力されるようです
"workingSet" : {
"note" : "thisIsAnEstimate",
"pagesInMemory" : 113607,
"computationTimeMicros" : 23265,
"overSeconds" : 830
},
mongo マシンには 4 GB の RAM があり、ワーキング セットのサイズはかなり小さいようです。したがって、データベースの半分とメモリ内のすべてのインデックスを収容するのに十分なRAMがあるため、このシナリオでページフォールトが発生する理由がわかりません。mms は pagefaults のわずかな増加を示していますが、メモリ内のレコードに合わせてワーキング セットが拡張されない理由と、mongos を再起動したときに問題がどのように修正されるのかがわかりません。2.4.1 バージョンを使用しています
マップされていない仮想メモリが 2.4 GB まで高く、接続が 100 ~ 200 しかないことに気付きました
rs_default:PRIMARY> db.serverStatus().mem
{
"bits" : 64,
"resident" : 2275,
"virtual" : 138017,
"supported" : true,
"mapped" : 67584,
"mappedWithJournal" : 135168
}
rs_default:PRIMARY> db.stats(1024*1024)
{
"db" : "xrr",
"collections" : 7,
"objects" : 605844,
"avgObjSize" : 3614.9263836895307,
"dataSize" : 2088,
"storageSize" : 2517,
"numExtents" : 57,
"indexes" : 41,
"indexSize" : 383,
"fileSize" : 8125,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"ok" : 1
}