Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Azure中开发.NET应用程序以帮助降低成本和优化性能时,我必须考虑哪些因素?_Azure - Fatal编程技术网

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

在Azure中开发.NET应用程序以帮助降低成本和优化性能时,我必须考虑哪些因素?,azure,Azure,我正在考虑将.NET应用程序部署到Windows Azure,但是我不确定需要优化什么以降低成本和提高性能。该网站使用MVC4开发,大量使用javascript框架进行AJAX查询,数据保存在SQL中。似乎没有关于我应该查看或考虑的内容的详细指南,例如viewstate与服务器端存储(例如SQL、表存储等)。存储类型包括字符串(例如名称、日期等),二进制文件(例如jpeg、jpg等)每个应用程序都不同,所以,你能做的最好的事情就是试着估计你自己的使用量,然后花一些时间和你的朋友在一起。部署应用程

我正在考虑将.NET应用程序部署到Windows Azure,但是我不确定需要优化什么以降低成本和提高性能。该网站使用MVC4开发,大量使用javascript框架进行AJAX查询,数据保存在SQL中。似乎没有关于我应该查看或考虑的内容的详细指南,例如viewstate与服务器端存储(例如SQL、表存储等)。存储类型包括字符串(例如名称、日期等),二进制文件(例如jpeg、jpg等)每个应用程序都不同,所以,你能做的最好的事情就是试着估计你自己的使用量,然后花一些时间和你的朋友在一起。部署应用程序后,请务必查看每月的发票。微软会很高兴地告诉你他们向你收取的费用,然后你就有了可靠的数据

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

为了省钱,您还可以做一些其他简单的事情,但请记住,裁剪一两个计算实例可能比所有这些更重要

  • 如果您正在使用Azure Diagnostics,请仅为此创建一个存储帐户,并关闭地理冗余存储功能。这几乎不费吹灰之力就能帮你省下几块钱。它还可以防止日志记录数据影响生产数据上限
  • 定期清理旧的日志数据
  • 尽量避免在SQL中保留大量数据。如果您有大文档、图像等,如果可以的话,将它们移动到Azure存储(表或blob)中
  • 如果您有一些后台处理要做,您可以将其添加到您的web角色中,而不是旋转一个单独的工作者角色
  • 如果您有资格获得批量许可,请考虑使用保留实例或获得批量许可协议
    +此外,设置Azure诊断和捕获性能计数器(如CPU利用率)以更好地了解需求也是值得的。