我正在尝试估算在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人员会阅读此内容,但他们可以清除它。
**会将其添加为评论,但感觉其重要性足以成为自己的答案