MongoDB 从昨天开始查询速度非常慢

MongoDB 从昨天开始查询速度非常慢

从昨天开始,我的 MongoDB 就出现了大问题。我有一个 100GB 的集合,其中包含超过 50M 个文档。直到昨天,查找这些文档和 .count() 都从来都不是问题。

不知何故,从昨天开始,一个简单的查找和计数查询就花了 4 个多小时(以前大约需要 10 秒)。索引似乎已创建,在我的服务器上,似乎只有 RAM 已满(96 GB 中的 85 GB 已被使用)。

我的第一个想法是,它试图将 100GB 放入我的内存中,但由于不能这样做,所以它不使用索引... 可能这样吗?

有人知道到底发生了什么事吗?

提前致谢。

编辑:

Mongo 版本:v4.0.3
Ubuntu 版本:4.15.0-36-generic
解释(我必须设定一个限制,否则它将永无止境......)

db.getCollection('users').find({"sessions.webInstanceId": 123456873, "sessions.timeStart": {$gt: 1500940800}}).limit(10000).explain(true)

解释的输出:https://pastebin.com/TqMUyKag

编辑2:通过更多的研究,我还注意到我遇到了 IO 等待问题。IO 等待错误 艾拓普

这可能是我的查询速度慢的原因吗?我的磁盘是 EXT4,我认为这不是最佳实践。

相关内容