Azure 存储帐户上传数百万个文件的限制

问题描述 投票:0回答:1

我有一个虚拟机,上面安装了 4 个 4 TB 的磁盘(磁盘类型为 StandardSSD_LRS)。每个磁盘都已满。有超过 200 万个文件,总共约 16TB 数据。

我想将所有数据存储在单个容器中的 Azure 存储帐户中。所以我创建了一个存储帐户和一个 SAS url。我正在使用这个 sas url 来授权帐户。

此虚拟机仅用于将此数据上传到 Azure 存储帐户,不用于其他工作。此外,存储帐户不包含任何其他数据。

问题是上传一定量的数据后,上传性能急剧下降。我使用 azcopy 和 rclone 进行上传,在这两种情况下我都看到了类似的趋势。在 azcopy 案例中,我还看到了一个额外的 OOM 问题,但在 rclone 中没有看到。

如何在上传所有这些数据时获得一致的性能?或者我可以使用任何其他替代方法将这么多数据上传到 azure blob 存储?

Az复制命令:

azcopy sync $SRC_ROOT $container_uri --recursive

Rclone命令:

rclone copy $SRC_ROOT az:${storage_container_name} --config rclone.conf -v

编辑:

  1. AzCopy 在我的情况下不起作用,因为有这么多卷,即使在任何传输开始之前,AzCopy 也会因 OOM 错误而崩溃。

  2. 使用 Rclone,我只允许 4 个并行传输,块大小为 4MB。这是 rclone 中的默认配置,我可以看到在 VM 指标中,资源消耗是一致的。正如我所提到的,此 VM 的唯一目的是将数据上传到 Blob 存储,因此其他进程不会消耗任何资源(网络、IOPS 等)。另外从图中,我们可以看到存储帐户方面发生了一些限制。

  3. 上传一定数量的数据后,传输次数会减少。所以我不认为这是图书馆的问题。相反,在蔚蓝 blob 存储方面发生了一些限制,因为在几乎几个小时内,我获得了最大性能,没有任何下降,之后它经历了突然下降。

我想知道为什么上传性能会下降,因为没有其他因素对存储帐户或虚拟机有任何影响。

azure azure-blob-storage azure-storage azure-storage-account
1个回答
0
投票

说实话,我不知道这是否是您的虚拟机/网络或存储帐户的问题。

但是我会检查您的虚拟机,看看您在上传时是否达到任何 CPU/RAM 限制。 也许 azcopy 在完成每个文件的上传后会消耗 VM-Performance 事件

© www.soinside.com 2019 - 2024. All rights reserved.