我们使用以下代码使用最新版本的 Azure Blob 客户端在 C# .NET 4.8 中下载 Azure Blob。
对于某些区域,我们发现 C# 的下载速度低至 7 Mbps。但是,在同一台机器上使用 Azure 存储资源管理器,我们能够获得 300 Mbps。 Azure Blob 是标准的高级 LRS Blob。
这段代码或者我们如何使用它是否有什么可能导致这个问题?提前致谢。为什么同一机器上的 Azure 存储资源管理器比同一机器上的 C# 快 10 倍以上?
BlobServiceClient blobServiceClient = new BlobServiceClient(ConnectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient(ContainerName);
BlobClient blobClient = containerClient.GetBlobClient(BlobPath);
using (BlobDownloadInfo download = blobClient.DownloadAsync().Result)
{
using (BinaryReader reader = new BinaryReader(download.Content))
{
fileData = reader.ReadBytes(BytesToRead);
}
}
最佳答案
IMO,你的代码没问题。但是,预计全局不同 Azure 中心的速度并不相同,而且地理位置/到您所在位置的距离也很重要。
检查这个azure网站测试blob存储服务速度https://azurespeedtest.azurewebsites.net/给你一个想法。
还有另一个网站可以检查延迟 https://www.azurespeed.com/Azure/Latency
我将添加这可能会提供更多信息:
关于C# Azure Blob 客户端下载大 blob 速度很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74271664/