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



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

每个应用程序都是不同的,所以你能做的最好的事情就是尝试估计自己的使用量,然后花一些时间使用Azure成本计算器。一旦你部署了应用程序,一定要查看你每月的发票。微软会很高兴地告诉你他们向你收取的费用,然后你就有了可以使用的硬数据。

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

为了省钱,你还可以做一些其他简单的事情,但请记住,切割一两个计算实例可能比所有这些都重要。

  1. 如果您正在使用Azure Diagnostics,请仅为此创建一个存储帐户,然后关闭地理冗余存储功能。这几乎不费吹灰之力就能为你省下几块钱。它还可以防止日志记录数据影响生产数据上限
  2. 定期清理旧的日志记录数据
  3. 尽量避免在SQL中保留大量数据。如果你有大文档、图像等,如果可以的话,将它们移到Azure存储(表或Blob)中
  4. 如果你有一些后台处理要做,你可以将其添加到你的网络角色中,而不是单独创建一个工作者角色
  5. 如果您符合条件,可以考虑使用保留实例或获得批量许可协议

最新更新