MongoDB后台索引非常慢

MongoDB后台索引非常慢

我在单个 AWS EC2 上的 Ubuntu 上运行 MongoDB,版本为 m4.2xlarge。磁盘为 1280GB io1 22000 IOPS,采用 XFS 文件系统,已用完 73%(仅用于 MongoDB)。MongoDB 服务器版本为 3.4.10。

我有一个包含 118 亿个文档的集合。我开始在单个 Int64 字段上为该集合创建后台索引。它已经运行了几天,但索引只完成了 23%。它开始时很快,但现在的速率约为每秒 4.5k 个文档。如果速率保持不变,索引将在 20 多天内完成。这是完全不可接受的。自开始索引以来,每秒文档的速率一直在下降。

服务器目前不受其他查询的影响。遗憾的是,我无法运行前台索引,因为还有其他数据库正在被使用。

我可以做些什么来加快速度?欢迎提出任何建议。我应该停止索引,增强 EC2 实例并重试吗?我没有看到 CPU 工作得太辛苦。我应该更改文件系统吗?升级到 MongoDB 3.6.2 会影响索引性能吗?

我的磁盘的 CloudWatch 指标中是否有令人大开眼界的内容?

CloudWatch 指标中的磁盘性能

答案1

我最终创建了一个前台索引,其运行速度似乎是后台索引的 1000 倍。这暂时牺牲了使用数据库的能力,但绝对值得。

我希望这可以帮助别人。

相关内容