从Blob存储帐户到CosmosDb的复制活动非常慢

时间:2018-12-14 15:15:39

标签: c# azure azure-storage-blobs azure-cosmosdb azure-data-factory

情况:

我正在使用 azure-data-factory 中的 copy-activity ,从复制一个 500 MB 的json文件从strongs> CosmosDB 到从CosmosDb到存储帐户blob

AzureBlobStorageLinkedService配置有 SAS令牌

时间:

将CosmosDb转到存储帐户blob: 4分钟

到CosmosDB的存储帐户blob: 2小时-超过7小时(超时)

CosmosDB:

在开始复制活动之前,将创建一个 20.000 RU / s 的空集合。我查看了CosmosDB的指标,它确实很无聊。只有429个错误。我们有“默认索引配置”和一个partitionKey。这意味着我们具有包含来自几个partitionKey-ranges(分区)的几个partitionKeys的数据

数据:

在json文件中,有 48.000 个json对象。有些,有些可以 200 KB

尝试:

我尝试了不同的WriteBatchSizes:

5: 2 hours

100: 2 hours

10.000: 7 hours (timeout)

我尝试了相同/不同区域=>没有差异

我尝试使用较小的文件=>它们的速度更快(500 KB /秒,而不是50 KB /秒)

问题:

为什么这么慢? 500 MB的文件太大了吗?

1 个答案:

答案 0 :(得分:0)

我尝试使用非常高的吞吐量值,但效果很好:

1.000.000 RU/s: 9 Minuten ✔
100.000 RU/s: 15 Minuten ✔

但是由于成本原因,我不得不考虑在数据传输完成后缩减规模!