当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – 为什么从Azure blob下载这么长时间?

来源:互联网 收集:自由互联 发布时间:2021-06-22
在我的Azure Web角色OnStart()中,我需要部署角色所依赖的巨大的非托管程序.该程序先前已压缩为400兆字节的.zip存档,每个文件分为20兆字节,并上传到blob存储容器.该计划不会改变 – 一旦上
在我的Azure Web角色OnStart()中,我需要部署角色所依赖的巨大的非托管程序.该程序先前已压缩为400兆字节的.zip存档,每个文件分为20兆字节,并上传到blob存储容器.该计划不会改变 – 一旦上传,它可以保持这种方式多年.

我的代码执行以下操作:

CloudBlobContainer container = ... ;
String localPath = ...;
using( FileStream writeStream = new FileStream(
             localPath, FileMode.OpenOrCreate, FileAccess.Write ) )
{
     for( int i = 0; i < blobNames.Size(); i++ ) {
         String blobName = blobNames[i];
         container.GetBlobReference( blobName ).DownloadToStream( writeStream );
     }
     writeStream.Close();
}

它只是打开一个文件,然后逐个将部分写入其中.效果很好,除了从单核(超小)实例运行大约需要4分钟.这意味着平均下载速度约为每秒1.7兆字节.

这让我担心 – 看起来太慢了.它应该这么慢吗?我究竟做错了什么?我可以做些什么来解决我的部署问题?

除了理查德·阿斯特伯里(Richard Astbury)所说的内容之外:超小型实例的带宽非常小,即便是小型的.你会看到约.额外的5Mbps,大约小型100Mbps(小型到超大型,每个核心大约可达100Mbps).
网友评论