我如何加速mongodb?

时间:2013-11-05 09:02:52

标签: mongodb

我有一个爬虫,它有6个以上的进程。一半的流程是抓取网页的主人,当他们找到工作时,他们将其放在jobs集合中。在大多数情况下,大师一次可以节省100个工作(我的意思是他们可以获得100个工作,并尽可能快地分开保存每个工作。

后半部分进程是奴隶,它不断检查某些类型的新作业是否可供他使用 - 如果是,则标记为in_process(使用findOneAndUpdate完成),然后处理作业并保存结果在另一个集合中。

此外,主进程必须不时地从jobs表中读取大量数据以进行同步。

总而言之,db上有很多读操作和写操作。当db很小时它工作正常,但现在当我有~7万个工作记录(工作文件很小,它有8个字段并且有适当的索引/复合索引)时,我的数据库松弛。我可以在显示“stats”页面时观察它,该页面基本上在某些条件下(在索引字段上)执行~16 count个操作。

当主站/从站进程未运行2秒后显示统计信息页面时。当主设备/从设备运行相同的页面显示大约1分钟,有时根本不显示(超时)。

那么如何让我的数据库每秒处理更多请求呢?我必须复制它吗?

0 个答案:

没有答案