Mongo数据库非常慢,直到我重启

时间:2013-04-19 18:39:05

标签: mongodb

我刚从其他开发人员那里继承了一个应用程序,并且我被要求修复用户遇到的一些延迟问题。问题是任何使db调用mongo的页面都需要几分钟才能在浏览器中加载。

然而,当我重新启动mongo时,一切都会再次加速,应用程序正常运行。我看到全天都有几个cron工作,我相信其中一个可能导致mongo减速。

不幸的是,我没有使用mongo(只有mysql)的经验,而且我真的不知道我正在寻找的东西可能会让mongo运行得那么慢。

无论如何,我希望有人能提出一些可能导致延迟的潜在事情,以便我能更好地解决这个问题。我查看了mongo日志,我看到的唯一可能引起关注的是一条消息:

warning: can't find plugin [asc]

我知道这可能指向索引问题,但还有其他明显的事情我应该调查吗?

1 个答案:

答案 0 :(得分:0)

从我在https://groups.google.com/forum/?fromgroups=#!topic/mongodb-user/pqPvMq7cSBw阅读的内容看起来,您的某个查询声明了

db.a2.find().sort({a:"asc"}) 

而不是

db.a2.find().sort({a:1})

在MongoDB中,您需要使用 1或-1 声明排序,排序时没有 asc或desc 常量。因此,我建议您检查是否有任何查询运行不正确。您可以检查日志文件中正在运行的查询(具有正确的分析设置)http://docs.mongodb.org/manual/tutorial/manage-the-database-profiler/。您可以使用mongotop(http://docs.mongodb.org/manual/reference/mongotop/)来查看读取/写入数据的时间用于集合的时间。