在开发.NET应用程序以帮助降低Azure成本和优化性能时,我需要考虑哪些因素?

时间:2012-12-11 20:02:47

标签: azure

我正在考虑将.NET应用程序部署到Windows Azure,但我不确定需要优化什么才能降低成本并提高性能。该站点使用MVC 4开发,大量使用javascript框架进行AJAX查询,数据保存在SQL中。对于我应该查看或考虑的事项,似乎没有详细的指南,例如viewstate与服务器端存储,例如SQL,表存储等。存储类型包括字符串,例如名称,日期等,二进制,例如jpeg,jpg等

1 个答案:

答案 0 :(得分:1)

每个应用都是不同的,因此您可以做的最好的事情就是尝试估算自己的使用情况,然后在Azure cost calculator上花一些时间。部署应用程序后,请务必查看月度发票。微软很乐意告诉您他们向您收取的费用,然后您将获得硬数据。

那就是说,根据我运行“典型”Web应用程序的经验,唯一真正重要的成本是计算实例(Web / worker角色)。运行一个小型计算实例一个月等于在SQL Server中存储15GB,在Azure存储中存储425 GB,或者使用470 GB的带宽。与其他Azure产品相比,一个小CPU相当昂贵,因此尽量使用尽可能少的计算实例,并充分利用您使用的那些。

您可以采取其他一些简单的方法来节省资金,但请记住,削减一两个计算实例可能比所有这些更重要。

  1. 如果您使用的是Azure诊断程序,请为此创建一个存储帐户并关闭Geo Redundant Storage功能。这几乎没有任何努力,这将为您节省几美元。它还使记录数据不会影响您的生产数据上限。
  2. 定期清理旧的日志记录数据。
  3. 尽量避免在SQL中保留大量数据。如果您有大文档,图像等,请尽可能将它们移动到Azure存储(表或Blob)中。
  4. 如果您要进行后台处理,可以将其添加到Web角色中,而不是单独创建一个辅助角色。
  5. 如果您符合条件,请考虑使用预留实例或获取批量许可协议。