0

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

但是,当我重新启动 mongo 时,一切都会再次加速,并且应用程序运行正常。我看到一整天都在运行几个 cron 作业,我相信其中之一可能会导致 mongo 变慢。

不幸的是,我没有使用 mongo 的经验(只有 mysql),而且我真的不知道我在寻找什么可能使 mongo 运行如此缓慢的东西。

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

warning: can't find plugin [asc]

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

4

1 回答 1

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/ ) 来查看您的集合中读取/写入数据的时间最多的地方。

于 2013-04-19T21:08:26.690 回答