有 100 个数据文件,每个文件有 60 个字段和超过 400 万条记录。有一个 perl 程序可以根据用户定义的 _id 字段插入记录或更新它们。还有一个 History 集合,用于存储曾经为三个字段写入的所有值。已经建立了一个带有两台服务器和一个仲裁器的副本集。最初,文件以每个文件 45 分钟的速度加载到 MongoDB。大约 20 个文件后,速度大大下降。此时的速度是每个文件 20 小时。服务器已经开始严重减速。我什至无法快速使用注销命令。
我用散列索引在 _id 字段上建立了索引,对于 History 集合,我用 id 和 date 字段建立了索引。此时集合中的记录数为实际数据收集的 400 万条,History 收集的大约 1 亿条记录。我有两个 17 GB RAM 处理器,其中根据 Mongostat res 命令仅使用了大约 3.5 个演出。然而,由于数据记录将按日期顺序插入,我也不能利用并行性。
已达到特定场景的 mongo 限制?这种放缓是否在意料之中?我不时手动 fsynced 以确保文件被写入磁盘。我可以运行其他一些诊断程序来更好地解释这种情况吗?这个问题有方法解决吗?
谢谢
mongodb ×1