2012-10-09 97 views
3

我有一個關於優化Azure blob下載速度的問題。我正在尋找在Azure blob存儲中有10000個文件大小爲5 MB的私有容器。每當用戶想要下載這個文件時,我都會生成一個SAS Url供用戶下載文件。截至目前,我正在研究約1000名併發用戶在任何時間下載各種文件。優化從1000個併發用戶的Azure Blob存儲下載

我想知道下面的任何步驟是否會幫助我保持這種用法的最佳下載速度。

  1. 將文件存儲在不同容器中有助於提高下載速度。
  2. 在Windows Azure存儲團隊的博客中讀到每個存儲帳戶都有固定帶寬。爲了彌補這一點,我是否需要將文件存儲在不同的存儲帳戶中。
  3. 在存儲帳戶中擁有一個容器以獲得〜1000個併發用戶的最佳下載速度是否足夠? I 如果你能讓我知道實現這個目標的最佳實踐,那麼t也會很棒。

回答

4
  1. 編號Blob是分區,而不是容器。
  2. 是的。
  3. 這取決於。一個單個 blob的目標吞吐量高達60 MBytes/sec,但由於您談論的是10000個文件,這應該不是問題(假設您的1000個併發用戶將下載不同的文件)。您需要考慮的是存儲帳戶的可擴展性目標,其中吞吐量高達每秒3千兆位。這可能會成爲一個問題,如果您的應用程序增長,但有幾個解決方案,你可以看看:
    • 使用多個存儲帳戶(可能每個國家,每個應用程序,...)。創建存儲帳戶的限制很低(以前每個訂閱有5個存儲帳戶,不知道這是否更改),因此您需要聯繫Microsoft以便使用更多存儲帳戶。
    • 考慮將CDN與blob存儲一起使用以暴露您的文件。這會提高性能(更高的吞吐量),但用戶也會從「附近」位置下載文件的速度更快。
    • 您也可以在Web角色(例如LocalResources或緩存預覽中緩存受歡迎的文件)中執行一些緩存。但我不會建議這樣做。

這篇文章是一個良好的開端:Windows Azure Storage Abstractions and their Scalability Targets