.net MongoDB驱动程序Bulkwrite到Cosmos MongoDB超时

时间:2018-02-25 00:42:08

标签: c# mongodb azure

我正在尝试使用bulkwrite命令和ReplaceOneModel将6000多条记录批量插入到我们的CosmosDB中。我一次尝试批量增量低至100条记录但是在大约500次插入后我得到了一个超时异常。数据库上的RU设置为10000.尝试使用和不使用分区键,并关闭有序和验证选项并仍然获得超时异常。我将连接字符串上的连接超时设置为5分钟。我也在批次之间加了一分钟,但没有运气。当逐个插入记录时,没有错误,但批处理花费的时间太长,无法完成。

有人可以推荐一些东西试图阻止超时发生吗?

1 个答案:

答案 0 :(得分:0)

我最近使用mongoimport工具通过Mongo API将数百万个文档插入到CosmosDB中,其中numInsertionWorkers设置为128,我的集合暂时设置为100,000 RU。它只用了几分钟。在使用SQL API的10,000 RU时,我会在几秒钟内定期插入~6000个文档,因此您在上面遇到的不是典型的

使用bulkWrite是否有特殊原因?如果您发出单独的写入操作,但是具有多个客户端编写器线程,那么您可以实现目标,以便并行执行多个批处理。您需要调整针对RU执行的并发写入次数,以避免太多“请求率大”'异常。