我在不同的集合或数据库中连续将数据更新到MongoDB,其名称是时间戳。我删除了最旧的数据,并在mongo中保留了大约3天的数据,200GB。映射和vsize正在增加,但res低于10 GB。我总结一下mongo的响应时间越来越大。你知道原因吗?我愿意你的分享。
答案 0 :(得分:3)
请确保您正确使用索引。
例如,如果您按email
字段找到用户,则必须为此字段构建索引:
db.users.ensureIndex({ email: 1 })
要了解有关索引的详情,请点击以下链接:http://docs.mongodb.org/manual/indexes/
此外,一些解释对您非常有用。您可以从下一个命令中查看有关查询的详细信息:
db.users.find({ email: "user@example.com" }).explain()
explain()
会对您的查询说出很多。要了解有关它的更多信息,请按照官方文档:http://docs.mongodb.org/manual/reference/method/cursor.explain/
因此,如果您确定索引是正确构建的,请发布explain()
的输出。它将帮助我们找到问题。