0

我有一个用例,通常需要将 blob(文件)从一个 Azure 区域复制到另一个。文件大小从 25 到 45GB 不等。不用说,这有时会非常缓慢,性能不一致。这可能需要长达两个小时,有时甚至更长时间。距离起作用,但它有所不同。即使在同一区域内复制也比我预期的要慢。我一直在尝试:

  1. Python SDK 及其从 blob 服务中复制 blob 的方法。
  2. 其余 API 复制 blob
  3. 从 CLI 复制。

虽然我并没有真正期待不同的结果,因为它们都使用相同的后端方法。

有什么我缺少的方法吗?有什么方法可以加快这个过程,或者 Azure 中集成了任何类型的 blob 共享?VHD/磁盘共享也可以。

4

2 回答 2

0

您可能想尝试AzCopy/SyncCopy中的选项:

将 Blob 从一个存储帐户同步复制到另一个

默认情况下,AzCopy 在两个存储终结点之间异步复制数据。因此,复制操作使用没有 SLA 的备用带宽容量在后台运行,就 blob 的复制速度而言,AzCopy 会定期检查复制状态,直到复制完成或失败。

/SyncCopy选项可确保复制操作获得一致的速度。AzCopy 通过将要复制的 Blob 从指定源下载到本地内存,然后将它们上传到 Blob 存储目标来执行同步复制。

AzCopy /Source:https://myaccount1.blob.core.windows.net/myContainer/ /Dest:https://myaccount2.blob.core.windows.net/myContainer/ /SourceKey:key1 /DestKey:key2 /Pattern:ab /SyncCopy

/SyncCopy与异步复制相比,可能会产生额外的出口成本,建议的方法是在与源存储帐户位于同一区域的 Azure VM 中使用此选项,以避免出口成本。

于 2018-11-13T02:54:35.923 回答
0

在 linux 中,您可以尝试使用 --parallel-level 选项。尝试使用 azcopy --help 进行查找。此外,最大操作限制正式为 512。去疯狂!

于 2019-07-03T21:13:01.137 回答