我们的制作mongos突然开始执行缓慢,如果我们重新启动mongo db,问题就会消失。性能从ms降低到秒,并且在我们重新启动之前永远不会恢复(或者可能我们还没有等待足够长的时间)。我在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确实显示略有增加的页面故障,我不明白为什么工作集扩展以适应内存中的记录以及当我重新启动mongos时问题是如何修复自身。我们正在使用2.4.1版本
我注意到非映射的虚拟内存很高~2.4GB,我只有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
}