首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure VHD性能与BLOB

Azure VHD性能与BLOB
EN

Stack Overflow用户
提问于 2017-03-30 01:16:53
回答 1查看 205关注 0票数 0

我在同一个blob服务中有两个容器。一个包含单个VHD,另一个包含单个测试PDF。

在VHD所连接的VM中运行一个进程,我得到以下数字。

VHD读取:

代码语言:javascript
复制
// VHD = e: drive, copy files
using (FileStream fs = new FileStream(@"e:\various\14681.pdf", FileMode.Open))
using (var mstream = new MemoryStream())
{
    byte[] buffer = new byte[32 * 1024];
    int bytesRead;
    while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
    {
        mstream.Write(buffer, 0, bytesRead);
    }
}
// 20MB file = 250ms, 250k file = <1ms

blockBlob.DownloadToStream:

代码语言:javascript
复制
//read blob 
//CloudBlockBlob blockBlob = container.GetBlockBlobReference("14681.pdf");

using (var mstream = new MemoryStream())
{
    blockBlob.DownloadToStream(mstream);
}

// 20MB file = 700-800ms, 250k file = 40ms

为什么这两个进程的性能会有如此大的差异

EN

回答 1

Stack Overflow用户

发布于 2017-03-30 02:00:53

那么,当你访问存储blob时,你会通过公共互联网(甚至不是内部),所以这会增加延迟,而当你访问VHD时,你会通过Azure主干(虚拟机管理程序会为你做这件事)。

我推测这是主要原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43100040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档