【发布时间】:2013-11-22 15:30:23
【问题描述】:
我使用 MongoDB 作为只读文档源,用于计算统计信息。每个文档都没有子文档,但数据库大约有大约 900k 文档,并且每天会增加大约 1k 文档,在数据库空闲时添加。
所以,我想了解以下几点:
我了解到,当整个集合存储在 RAM 中时,MongoDB 工作得最好。假设我的数据库约为 400MB,并且我们的服务器可以轻松地将整个内容塞入 RAM,有没有办法告诉 MongoDB 将我的整个集合预加载到 RAM 中?
我还了解到,在某些情况下,创建副本集将有助于提高数据库的读取性能。我的情况是其中一种有用的情况吗?
我正在线程化我的统计计算,但请注意,当我线程化它们而不是同步运行它们时,在执行这些计算时完成对 mongoDB 运行的查询所需的时间增加了三倍。当我同时对同一个集合发出请求时,我可以做些什么来提高数据库的性能?
【问题讨论】:
-
当您有多个问题时,请为每个问题打开一个新问题。如果有人可以回答三个问题之一,但不是全部,他们就不会写答案,因为它会因为不完整而被否决。
-
MongoDB 文档可以帮助您:docs.mongodb.org/master/administration/optimization
标签: multithreading mongodb mongoid