我有以下代码来下载blob存储中的JSON文件。实际上,下面的代码需要一分钟以上的时间才能下载到本地文件夹中,请建议我通过优化下面的代码来提高性能。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("containername");
CloudBlockBlob blockBlob2 = container.GetBlockBlobReference(“jsonfile_name");
string jsonString = string.Empty;
using (var memoryStream = new MemoryStream())
{
blockBlob2.DownloadToStream(memoryStream);
jsonString = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray());
using (FileStream fs = new FileStream(localfolderPath, FileMode.Create))
{
using (StreamWriter writer = new StreamWriter(fs))
{
writer.Write(jsonString);
}
}
}
发布于 2015-03-28 01:56:08
您可以尝试调用DownloadToFile作为一个小改进,但这仍然无法解释下载耗时超过一分钟的原因。您应该调查客户端或网络是否出现了问题。如果启用Azure存储日志记录,则可以比较服务器延迟和E2E延迟,以查看Blob服务是出现故障还是客户端/网络。有关这方面的更多信息,我建议您查看我们的Monitor, diagnose, and troubleshoot Microsoft Azure Storage文章。
https://stackoverflow.com/questions/29294001
复制相似问题