mongodb很多插入\更新性能

时间:2011-01-24 08:53:39

标签: performance mongodb

我使用mongodb来存储用户的事件,每个用户都有一个文档,其中包含一系列事件。系统每分钟处理数千个事件,并将每个事件插入mongo。

问题是我使用分析器对更新操作的性能很差,我注意到WriteResult.getError会引起性能影响。

这是有道理的,更新是异步的,但是如果想要检索操作结果,他需要等到操作完成。

我的问题是,有没有办法让更新保持异步,但只有在发生错误时才会出现异常(99.999次没有错误,所以系统什么都不等)。我理解这意味着异常将在流程的某个地方进行,但我可以忍受。

还有其他建议吗?

应用程序是用Java编写的,所以我们使用的是Java驱动程序,但我不确定它是否相关。

1 个答案:

答案 0 :(得分:2)

您是否已对您的记录编制索引? 这可能是你表现的问题。

如果没有在你应该对你的集合进行索引之前完成,比如

db.collectionName.ensureIndex({"event.type":1})  

要获得更多帮助,请访问http://www.mongodb.org/display/DOCS/Indexes