Azure Cosmos MongoDB中的服务器端延迟对于批量写入很高

pxq42qpu  于 2023-03-22  发布在  Go
关注(0)|答案(1)|浏览(187)

我正在尝试批量插入1000条记录到我的cosmos DB(Mongo API)中。我使用Mongo ruby客户端库并使用“insert_many”函数插入批量数据。服务器端延迟大约为每插入1000条记录5-10秒,这是非常巨大的。我做错了什么?附加服务器端延迟度量映像
在晚上9点50分,执行插入操作,花费了大约5s。x1c 0d1x
晚上9点50分,RU消耗仅为30%

代码片段:

client = Mongo::Client.new('<connection_string>', :database => 'user-groups')
collection = client[:mapping]

data = []
1..1000.times do |i|
    data << {
        user_id: "#{i}user",
        group_id: "#{i}group",
        tenant_id: "1"
    }
    
end
collection.insert_many(data)

集合没有索引

nlejzf6q

nlejzf6q1#

ordered参数导致了这里的延迟问题。默认情况下,ordered参数为true,这确保记录以有序的方式插入。
修复:

collection.insert_many(data, { ordered: false })

在将ordered参数指定为false时,它将确保记录不会以极大地提高性能的顺序插入。

相关问题