2012-06-14 156 views
1

我想估計在Windows Azure上開發項目的成本。但有些統計數據有點模糊。以下是我的問題:Windows Azure定價精度

存儲
如何計算/估計您的存儲事務數量。舉個例子,如果一個用戶下載一個1Mo的文件,多少個事務?

Web和Worker角色實例
如果你有一個Web角色(分段)和先停用它,我的意思是,他的狀態停止。你付錢嗎?你只需要停止它或刪除整個託管服務。

帶寬
您如何估計您的帶寬。

(也許其他問題會出現)

非常感謝您的回答!

+0

不知道答案,這個問題屬於這裏 – Vamsi

+0

關於角色 - 你還是會付作用,如果它只是停止,因爲它的資源仍然保留。你必須刪除它。 – sleepwalker

+0

「1Mo的一個文件」 - 你是什麼意思? :)訪問存儲由REST服務提供。每次通話都是您要支付的交易。例如:檢查文件是否存在,獲取文件= 2個事務。 – sleepwalker

回答

2

寄存http://blogs.msdn.com/b/windowsazurestorage/archive/2010/07/09/understanding-windows-azure-storage-billing-bandwidth-transactions-and-capacity.aspx

  • 當上傳斑點大於32兆字節,存儲客戶端庫將其分解爲4兆字節的塊默認情況下。塊大小可以通過設置CloudBlobClient.WriteBlockSizeInBytes字段進行更改。當上傳一個大於32MB的blob時,客戶端庫會將每個塊作爲單獨的PutBlock REST請求上傳,然後在PutBlockList的末尾提交所有塊。每個PutBlock將計爲1個事務,最終的PutBlockList也將計爲1個事務。
  • 單個GetBlob請求blob服務= 1個交易
  • PutBlob 1個請求到blob服務= 1個交易
  • 大團塊上傳經由PutBlock導致100個請求,然後1 PutBlockList 用於提交= 101個交易
  • 清單通過大量使用5-請求總(由於4個繼續標記)= 5個交易

Web和工作者角色實例斑點:即使這些實例是停止,資源仍將保留給你,你會繼續支付。要停止付款,您需要減少實例數量或刪除託管服務。

帶寬:估計總是很難,但你需要考慮:

  • 的類型的數據,你會被轉移
  • 是數據壓縮或不?
  • 你有多少(活躍)用戶?
  • 您是否也轉移到北美和歐洲?或到其他地點(這些更昂貴!)
  • 入口是免費的,同一個數據中心內的通信是免費的。您只需支付離開數據中心的數據。
+0

感謝您的出色答案! – MaT

2

@Sandrino很好的回答。讓我再補充幾點興趣點。

  • 上週存儲交易定價僅下降了10倍,現在每10萬筆交易一分錢。與計算和存儲成本相比,交易成本真的不會太高。爲了說明這一點:假設一個100MB文件每天有一個4MB塊被上傳。有4個文件上傳交易:(4x60x60x24x30)/ 100,000 = 103便士。
  • 當涉及到關閉一個給定的角色:假設你有一個web角色,以及一個特定的工作角色,每晚做一個處理,你只需要一個小時的工作者角色。在那一小時內,你可以擴展到一些實例。在小時結束時,您可以將不是減少到零實例;每個角色的最小值爲一個實例。如果你有這樣的模式,你最好把你的夜間處理放到一個單獨的部署中(基本上是它自己的服務)。然後,每晚在「夜間服務」上創建一個新的部署 - 讓它運行直到所有工作完成,然後刪除部署。
  • 如果計算成本對您來說很重,並且您有幾個角色(例如我剛纔給出的web + worker示例),則可以將功能組合爲一個角色。這些角色本質上是Windows 2008服務器虛擬機,因此沒有任何東西阻止您創建多個線程,啓動進程等。在單個角色中運行所有內容都有一些擴展限制(例如,您的後臺處理可能會在該期間中斷cpu的網站小時的處理),但你可以在將來將代碼分成不同的角色。
+0

感謝您的精確! – MaT

0

我還想補充一點,如果您運行的是虛擬機實例而不是服務實例,則您的VMS託管在BLOB存儲中。

這可能意味着正常的操作系統磁盤I/O可能會花費你的錢。

計算時間不包括與在Windows Azure虛擬機中運行的映像關聯的任何Windows Azure存儲成本。這些費用分開計費。

參考:http://www.windowsazure.com/en-us/pricing/details/

不知道是否有任何人的MS將讀取這一點,但他們可以把它清除掉。

**會增加一條,作爲一個評論,但覺得它夠重要的是要對自己