2017-04-06 116 views
-1

下载~60MB与python api可以花费超过10-15分钟烤箱更多。 有没有一种方法/例子来提升性能?Azure Blob存储蟒蛇API性能

+0

只是好奇你在期待什么,作为答案。您没有显示任何代码(无论是原始API调用还是使用python SDK)。您没有分享您从哪里运行下载脚本的位置:与您的存储帐户位于同一区域的虚拟机?不同的地区?内部机器?请相应地编辑您的问题,因为目前没有办法回答,只能猜出猜测。而且,说实话,花这么长时间来下载blob是非常前所未闻的。 –

+0

尝试将其关闭并再次打开。 –

回答

0

它可能与很多因素有关,如互联网速度较慢,地理位置不同。

如果客户端通过Python API下载文件,只需将valet token传递给客户端即可明确提高整体性能。

然后让客户端直接从Azure Blob存储下载。

enter image description here

+0

当OP甚至没有给出关于问题本身的细节时,如何建议代客令牌(SAS)。对于60MB文件,在15-20分钟时间内,您正在讨论56k调制解调器的下载速率。有一个可怕的网络连接或完全不正确的API实现。但没有任何细节,我不明白如何解决问题。 –

0

根据你的描述来计算你的实际网络带宽,它似乎比1Mbps的要少,其中544〜816Kbps或68.3〜102.4KB /成本核算10〜15分钟下载秒。基于这个带宽,如果它是真的,我认为你的情况是正常的。

根据我的经验,如果blob包含多块,下载大块的方法是首先对Get Block List blob进行下载,然后通过Get Blob与Python中的多线程或多进程同时下载它们用file.seek(offset)方法编写一个文件,其中offset参数是按块ID排序的块的大小值。但是,你的BLOB大小只有60MB,小于64MB,通常是一个块。所以我认为这种方式不适合这种情况,除了提高网络带宽。

0

感谢您的帮助! 我发现该容器是冷存储。 将它升级到热容器后,性能大幅提升。