【发布时间】:2014-02-04 17:03:01
【问题描述】:
我有一个运行在 512MB RAM 的 webfaction 服务器上的 mongod 进程。我有一个 MongoDB 数据库,其中包含两个大小为 10MB 和 2GB 的集合。每当我通过 mongo shell 对我的集合运行查询时,RAM 使用量会增长得异常高,并且服务器会被托管服务提供商自动终止。
有没有办法控制mongod服务器的内存使用?我究竟做错了什么? PS:请指导我,因为我是 MongoDB 的新手并且正在做一些实验。
【问题讨论】:
-
您的查询是什么,您可能需要添加一些索引。 Mongo 不得不将整个集合拉到 RAM 中进行搜索。
-
提供数据架构和查询类型会很有帮助。此外,如前所述,存在索引。
-
数据基本包含facebook个人资料和用户点赞数。
-
我正在对数据运行搜索查询和聚合查询。另外,我没有使用任何索引
-
听起来您可能已经回答了自己的问题:)。如果您没有添加任何二级索引,那么除了
_id查询之外的任何内容都必须扫描整个集合。 Creating appropriate indexes 应该是您的起点。如果您不确定要添加什么索引,您可能需要发布一个单独的问题,其中包含示例文档以及您通常需要执行的查询/更新类型。
标签: mongodb webfaction