我使用的是 M60 层的 Atlas 集群,配置的 IOPS 为 3099。
我正在尝试尽可能快地编写 116,550,000 个文档,平均每个文档大约 12 KB。(最好在 6 小时以内)
我有 6 个由多个字段组成的复合索引。
我的问题是:我想知道原则上是什么影响了我的写作速度,并从本质上阻止了我的速度变得更快。 是IOPS吗?如果我将 IOPS 增加到 9000,我会看到写入速度发生巨大变化吗? 分片是答案吗?如果是这样,我可以在 M30 层中使用多个分片,但具有更多 IOPS 并实现我的目标吗?
感谢所有回复者:)
我使用 Node.js 实现的最佳写入速度是每秒 1200 个文档。可选:我有一个带有 mongodb-spark-connector 作为发送选项的 Spark 集群。但我认为问题出在 mongo 服务器而不是客户端。
在应用分片之前,我建议您尝试创建一个并行写入的新实例,以检查问题是否出在节点中。我是说,因为我们遇到了同样的问题..而且问题出在节点上,我们并行运行了 2 个应用程序以增加写入次数,并解决了这个问题。如果经过此测试后每秒的文档数量没有增加,您可以尝试配置 sarding!
问候