1

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

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

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

带宽
你如何估计你的带宽。

(也许后面还会有其他问题)

非常感谢你的回答 !

4

3 回答 3

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 个事务
  • 对 blob 服务有 1 个请求的 PutBlob = 1 个事务
  • 大型 Blob 上传,通过 PutBlock 产生 100 个请求,然后是 1 个用于提交的 PutBlockList = 101 个事务
  • 总共使用 5 个请求(由于 4 个继续标记)列出大量 blob = 5 个事务

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

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

  • 您将要传输的数据类型
  • 数据是否压缩?
  • 您有多少(活跃)用户?
  • 你也转移到北美和欧洲吗?或到其他地方(这些更贵!)
  • 入口是免费的,同一数据中心内的通信也是免费的。您只需为离开数据中心的数据付费。
于 2012-06-14T13:10:09.967 回答
2

@Sandrino 的好回答。让我添加更多的兴趣点。

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

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

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

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

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

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

**会添加它作为评论,但觉得它足够重要,可以单独作为一个答案

于 2012-06-14T19:03:28.483 回答