Mongodb只使用单核?当有一个长时间运行$ near查询时,所有查询都会停止

时间:2013-10-31 09:36:13

标签: mongodb mongo-shell

我的数据库中有100万个地理数据,其中20%是[0,0]

我运行简单查询db.test.find({lc:{$near:[0,0]}}),这非常慢。它的成本约为20~30秒,因为数据将按近操作进行排序。 CPU使用率肯定会上升到100%。

我听说mongodb已经支持多核,但是当地理查询运行时,我启动了另一个mongo shell并输入了一个非常简单的查询db.test1.find().limit(1)(请注意我甚至使用了不同的集合),它已经停止了。结果出现在我的地理查询完成之后。

我很困惑,似乎mongodb只支持单核用于长时间运行的读操作。真的吗?我正在使用mongo 2.4.5


编辑:即使我使用不同的数据库,它仍然会卡住。

编辑:我使用iostat -xm 2,当长查询运行时,所有磁盘I / O停止,%util几乎为0.内存使用率约为12%。因此,我非常确定高CPU使用率导致的情况。

1 个答案:

答案 0 :(得分:0)

现在确认为一个错误。 https://jira.mongodb.org/browse/SERVER-11516