2017-04-06 147 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

感謝您的幫助! 我發現該容器是冷存儲。 將它升級到熱容器後,性能大幅提升。