【发布时间】:2019-01-25 23:07:32
【问题描述】:
我编写了一个简单的 C# 控制台应用程序来测量按顺序和并行下载 20 个 Azure blob 文件(每个大约 3mb 的图像)的速度。
我的印象是并行下载文件会明显更快,但根据我的经验,它实际上需要更长的时间。以下是并行下载的代码:
List<Task> tasks = new List<Task>();
foreach (string blobName in blobNames)
{
Task t = Task.Run(() =>
{
CloudBlockBlob blockBlob = container.GetBlockBlobReference(blobName);
blockBlob.DownloadToFileAsync(blobName, FileMode.Create).Wait();
});
tasks.Add(t);
}
Task.WaitAll(tasks.ToArray());
我是不是在处理这个错误,导致不必要的瓶颈或其他什么?还是我从根本上误解了并行的好处?
【问题讨论】:
-
不完整,您需要指定结果时间和可用带宽。没有它只是猜测。
标签: c# azure async-await task-parallel-library azure-blob-storage