Windows Azure定价精度

时间:2012-06-14 12:49:20

标签: asp.net windows azure

我正在尝试估算在Windows Azure上开发项目的成本。但有些统计数据有点模糊。以下是我的问题:

存储
如何计算/估计存储事务的数量。让我们举一个例子,如果一个用户下载一个1Mo的文件,有多少交易?

网络和工作人员角色实例
如果您有Web角色(暂存)并且您将其停用,我的意思是,他的状态已停止。你付钱吗?您只需要停止它或删除整个托管服务。

带宽
你怎么估计你的带宽。

(也许其他问题会在之后发生)

非常感谢您的回答!

3 个答案:

答案 0 :(得分:2)

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

  • 上传大于32 MB的blob时,默认情况下,存储客户端库会将其分成4 MB块。可以通过设置CloudBlobClient.WriteBlockSizeInBytes字段来更改块大小。上传大于32MB的blob时,客户端库会将每个块作为单独的PutBlock REST请求上载,然后使用PutBlockList将所有块提交到最后。每个PutBlock将计为1个事务,最终的PutBlockList也将计为1个事务。
  • 对blob服务的单个GetBlob请求= 1个事务
  • PutBlob向blob服务= 1个事务
  • 发出1个请求
  • 大型blob上传,通过PutBlock产生100个请求,然后是1个PutBlockList for commit = 101交易
  • 使用5个请求(通过4个连续标记)= 5个事务
  • 列出大量blob

Web和工作人员角色实例:即使这些实例已停止,资源仍将保留给您,您将继续付费。要停止付款,您需要减少实例数量或删除托管服务。

带宽:估算总是很难,但您需要考虑:

  • 您要转移的数据类型
  • 数据是否已压缩?
  • 您有多少(有效)用户?
  • 您是否也转移到北美和欧洲?或者到其他地方(这些更贵!)
  • Ingress是免费的,同一数据中心内的通信是免费的。您只需为离开数据中心的数据付费。

答案 1 :(得分:2)

@Sandrino的精彩回答。让我再添加一些兴趣点。

  • 上周,存储交易定价仅以10倍的价格下降,现在每10万笔交易的价格为1美分。与计算和存储成本相比,交易成本实际上是微不足道的。从透视角度来看:想象一下,每天每秒都会上传一个100MB的文件,上传4MB块。有4个文件上传交易次数:(4x60x60x24x30)/ 100,000 = 103便士。
  • 当涉及到关闭一个给定的角色时:假设您有一个Web角色,以及一个夜间处理的特定工作者角色,而您只需要一个小时的工作角色。在这一小时内,您可以扩展到一些实例。在一小时结束时,您可以将该角色减少为零个实例;最小值是每个角色一个实例。如果您有这样的模式,最好将夜间处理放入单独的部署(基本上是自己的服务)。然后每晚,您在“夜间服务”上创建一个新部署 - 让它运行直到完成所有工作,然后删除部署。
  • 如果您的计算成本变得很高,并且您有多个角色(例如我刚刚给出的web + worker示例),您可以将功能组合到一个角色中。这些角色本质上是Windows 2008服务器虚拟机,因此没有什么可以阻止您创建多个线程,启动进程等。在一个角色中运行所有内容都有一些扩展限制(例如,您的后台处理可能会使网站饿死在处理的一小时内cpu,但你可以在将来将代码分成不同的角色。

答案 2 :(得分:0)

我还想补充一点,如果您运行的是虚拟机实例而不是服务实例,那么您的VMS将托管在blob存储中。

这可能意味着正常的操作系统磁盘i / o可能会花费你的钱。

  

计算小时数不包括与Windows Azure虚拟机中运行的映像关联的任何Windows Azure存储成本。这些费用单独计费。

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

不确定是否有任何MS人员会阅读此内容,但他们可以清除它。

**会将其添加为评论,但感觉其重要性足以成为自己的答案