上次我收到来自MongoDB Atlas的警报:
Disk I/O % utilization on Data Partition has gone above 70 on nvme2n1
但是我不知道如何定位/查询/索引/部分代码/有问题的集合。
我可以通过什么方式进行分析以找出问题的根本原因?
答案 0 :(得分:1)
没有回答,但只是看到许多人面临类似的问题。 在我的情况下,根本原因是:我们收集了包含数据数组的大型文档(实际上是带有一些元数据的坐标列表),并根据我们的坐标对其进行了多次更新(添加新坐标时)。 +一些其他操作。
据我所知,MongoDB不能仅获取部分文档,而是获取完整的文档,而当我们获取许多不同的大文档时,它们就不适合MongoDB内存缓存,并且每次访问硬盘都会导致这个问题。 因此,我们仅将本文档分为几个固定的问题。虽然我们需要经常访问以更新/添加此数据,但我们将其保存在不同的文档中,最后,在完成处理后,我们将所有这些文档收集回一个大文档中,以进行“历史记录检查”。