Mongodb制作服务器与升级相比太慢了

我们有两套在Rackspace VPS上运行的db和app服务器。 生产和舞台。 该应用程序在Rails上,db是MongoDB。

虽然升级(与许多文件,产品,55K)工作得很好,生产服务器是非常缓慢的。 20倍或更多。 即使简单的查询接近18秒!

这是我到目前为止所做的,我仍然无法深究。

  • 重新启动Mongo服务。
  • 检查ping时间黑/白应用程序和数据库服务器,看看networking是否是问题。 事实并非如此。
  • 在模型上显式运行create_indexes,但无济于事。
  • 启用mongo分析选项,但它没有给我任何额外的信息,而我已经有了。

下面是一些db调用正在运行时的mongostat生产快照:

insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time 0 0 0 0 0 1 0 1.95g 4.55g 122m 76 0 0 0|0 1|0 62b 1k 2 09:07:25 0 0 0 0 0 1 0 1.95g 4.55g 119m 121 0 0 0|0 1|0 62b 1k 2 09:07:26 0 0 0 0 0 1 0 1.95g 4.55g 120m 80 0 0 0|0 1|0 62b 1k 2 09:07:27 0 0 0 0 0 1 0 1.95g 4.55g 118m 116 0 0 0|0 1|0 62b 1k 2 09:07:28 

为什么有这么多的错误? 这是正常的吗? 任何帮助/见解将不胜感激。

原来罪魁祸首是另外一起。 Ubuntu的错误报告包叫做Whoopsie。 这是跟踪的方式。

  • Mongostat显示exception多的故障,这意味着数据在RAM中不可用,并且mongo可能正在为每个查询命中磁盘。
  • 然后我发布了Linux free命令。 它没有帮助。 报告可用RAM时实际上会误导。 看这里www.linuxatemyram。 COM
  • 最高的命令也没有任何好处,它始终表明,最高的内存使用率是由mongo不高于20%。 为什么没有mongo使用剩余的内存呢?
  • 快速谷歌search系统/内存监视工具显示htop作为最喜欢的。

这是服务器上的htop输出。 http://i.imgur.com/BLK74vj.png – 图像

whoopsie吃了高达43.7%的内存! 相当哎呀。 发现它影响了生产和登台服务器,但是登台仍然存在一定程度。 后来又发现了一些Googlesearch,这确实是Ubuntu上的一个bug。 https://bugs.launchpad.net/bugs/998521

我不认为whoopsie – Ubuntu崩溃数据库提交守护进程 – 是我的服务器上需要的关键组件。 提前, apt-get从所有服务器中删除清除的软件包。