首页 > 解决方案 > Blob 代码下载比 MS Azure 存储资源管理器慢得多

问题描述

我正在从大小为 1GB 的 blob 存储下载一个 blob。

如果我使用 MS Azure 存储资源管理器,它需要不到 10 分钟(我有一个 20 兆的下行线)。

但是,当我使用代码时:

await blobRef.DownloadToFileAsync("D:\\temp\\data.mdf", FileMode.Create);

(我也尝试使用内存流)下载 250MB 需要一个多小时(此时我杀死了它)。我已经多次完成了这个测试,并且它始终如一地发生。

我还监控了网络流量。

编辑:我仍在使用旧版本的 Azure 存储资源管理器(1.4.1)。但我可以确认新版本也给出了相同的结果。

标签: c#azureazure-blob-storage

解决方案


您应该指定您正在使用的 MS Azure 存储资源管理器的版本。

如果您正在使用一些较新版本的 1.9.0 / 1.8.1 / 1.8.0 等(请在此链接中找到更多详细信息),则 Azure 存储资源管理器与azcopy集成,它使用旨在获得最佳性能的简单命令。所以你可以有一个很好的下载/上传等性能。

使用代码下载/上传 Blob 时,您可以使用此Microsoft Azure 存储数据移动库。此库基于为 AzCopy 提供支持的核心数据移动框架,该框架还为您提供高性能的上传、下载。


推荐阅读