【问题标题】:MongoDB: Disk I/O % utilization on Data Partition has goneMongoDB:数据分区上的磁盘 I/O 百分比利用率已经消失
【发布时间】:2019-11-28 20:56:42
【问题描述】:
上次我从 MongoDB Atlas 收到警报:
Disk I/O % utilization on Data Partition has gone above 70 on nvme2n1
但我不知道如何本地化/查询/索引/部分代码/有问题的集合。
我可以通过什么方式进行分析以找出问题的根本原因?
【问题讨论】:
标签:
mongodb
mongodb-query
database-performance
mongodb-atlas
mongodb-indexes
【解决方案1】:
没有回答,只是看到很多人面临类似的问题。
在我的情况下,根本原因是:我们收集了包含数据数组的大量文档(实际上 - 带有一些元数据的坐标列表),并像我们拥有的坐标一样多次更新它(添加新坐标时)。 + 一些额外的操作。
据我所知,MongoDB 不能只获取文档的一部分,它会获取完整的文档,当我们获取许多不同的大文档时,它们不适合 MongoDB 内存缓存,并且每次访问硬盘时,都会导致到这个问题。
所以,我们只是将这份文件分成几份,并解决了这个问题。虽然我们需要经常访问以更新/添加这些数据,但我们将其保存到不同的文档中,最后,在处理完成后,我们将所有这些文档收集到一个大文档中,用于“历史检查”目的。