gpt4 book ai didi

c# - 下载大型 Azure 存储 Blob 的最快方法?

转载 作者:行者123 更新时间:2023-12-03 02:10:53 26 4
gpt4 key购买 nike

我正在开发一个 C# 项目,需要使用 Azure.Storage.Blobs SDK v12 将可能较大的 blob 从 azure 存储快速下载到本地文件。但是,当我尝试下载大约 2.8 GB 大小的 Blob 时,速度对于我的需求来说有点慢。

我正在使用我在其他地方看到的建议的 DownloadToAsync 方法:

Response response = await blob.DownloadToAsync(
destinationPath,
blobDownloadToOptions,
cancellationToken).ConfigureAwait(false);

blobDownloadTo 选项包含我的 TransferOptions,基本上是:

MaximumConcurrency = 8
InitialTransferSize = blobSize / 8
MaximumTransferSize = blobSize / 8

还有我的进度处理程序,它让我知道下载的速度。当我使用 Azure 模拟存储在本地运行它时,我可以通过 Fiddler 看到请求是在所需数量的线程上发生的,并且只需要大约 6-7 秒。但一旦将其部署到我的服务中,请求突然需要大约 30 秒。

Download Progress: (356725906) in : (4361) ms.
Download Progress: (713461892) in : (8704) ms.
Download Progress: (1070184646) in : (11687) ms.
Download Progress: (1426907400) in : (16048) ms.
Download Progress: (1783630154) in : (19321) ms.
Download Progress: (2140352908) in : (23769) ms.
Download Progress: (2497075662) in : (26981) ms.
Download Progress: (2853782037) in : (30178) ms.

人们有什么技巧或建议可以帮助我提高我的表现吗?我无法使用 DataMovement Library因为它与 v12 不兼容。

最佳答案

• 我建议您使用Azure速度测试工具来测试正在下载的blob数据的速度。 Azure速度测试工具下载链接如下:-

<强> https://www.azurespeed.com/Azure/Download

此外,建议您请使用“AzCopy”工具检查您是否通过它获得相同的下载速度,因为这将消除您对任何网络掉线的疑虑

• 您还可以查看以下链接,了解Azure 存储资源性能和可扩展性 list ,这肯定可以帮助您提高 blob 的下载速度:-

<强> https://learn.microsoft.com/en-us/azure/storage/blobs/storage-performance-checklist?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json#subheading2

最后,您可以尝试使用以下代码从 Azure 存储下载 blob,并建议您使用 .Net Azure SDK 代码中的“StorageTransferOptions”类,您可以在其中指定相应地设置“MaximumConcurrency”和“MaximumTransferSize”参数和变量,以最大程度地提高 Azure 存储中 blob 的下载速度

var ms = new MemoryStream();
await blobClient.DownloadToAsync(ms).ConfigureAwait(false);
var blobStream = await blobClient.OpenReadAsync().ConfigureAwait(false);
var props = await blobClient.GetPropertiesAsync().ConfigureAwait(false);
return File(blobStream, props.Value.ContentType, blobClient.Name);

有关更多详细信息,您当然可以引用以下社区帖子链接和以下链接以获取更多说明:-

Downloading blob results in more memory being used than size of actual blob

https://learn.microsoft.com/en-us/answers/questions/89440/getting-very-slow-speed-while-downloading-storage.html

关于c# - 下载大型 Azure 存储 Blob 的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73410605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com