Asp.net 分析azure上运行的网站性能的步骤

Asp.net 分析azure上运行的网站性能的步骤,asp.net,performance,azure,profiling,Asp.net,Performance,Azure,Profiling,一般来说,我对经营网站还很陌生。我熟悉桌面应用程序的统计分析器,但不确定如何开始分析网站,因为还有很多潜在的瓶颈,我不确定哪些分析器可用于网站 我环顾四周,在其他问题中看到了有用的建议,但我不确定它们是否是一个非常完整的解决方案。主要建议是azure性能计数器和来自的建议 概括而言,它们是: 使用firebug分别确定渲染时间和加载时间,这样就可以判断是渲染问题还是服务器问题 如果服务器端: 测试一个小的静态页面,比如带有单个gif的页面。如果这是缓慢的一个有CPU的问题。否则可能是IO绑定的,

一般来说,我对经营网站还很陌生。我熟悉桌面应用程序的统计分析器,但不确定如何开始分析网站,因为还有很多潜在的瓶颈,我不确定哪些分析器可用于网站

我环顾四周,在其他问题中看到了有用的建议,但我不确定它们是否是一个非常完整的解决方案。主要建议是azure性能计数器和来自的建议

概括而言,它们是: 使用firebug分别确定渲染时间和加载时间,这样就可以判断是渲染问题还是服务器问题

如果服务器端: 测试一个小的静态页面,比如带有单个gif的页面。如果这是缓慢的一个有CPU的问题。否则可能是IO绑定的,或者数据库性能有问题

可以使用性能计数器检查服务器方面,例如: 记忆 垃圾收集 tcp/ip问题 发送/接收的字节数 请求、排队、拒绝 请求等待时间,处理时间

从我天真的角度来看,这个列表中似乎缺少的一些东西是传统桌面应用程序的分析类型,即堆栈看起来像什么,占时间的百分比是多少(即我们花时间在哪些函数中,以及在什么上下文中)。另一个缺失的项目是分析数据库性能,azure上的性能似乎与本地环境中的性能不同,尤其是在开始处理扩展时。另一个是花在向第三方服务请求上的时间,尽管这可能可以通过azure性能计数器(?)来完成


我为这个问题的天真性道歉。在这里,我缺少哪些工具和方面来评测azure MVC asp.net网站,您会对上面的列表进行哪些更改?

评测网站有很多方面,包括数据库调用、业务逻辑、呈现视图,甚至客户端性能(例如,任何可能运行的jQuery)

是最容易开始的事情之一,只需安装一个NuGet包,添加一些Javascript include,并在using()块中包装您想要测试的任何内容,您就会看到执行时间(包括LINQ到SQL和EF)。如果希望对单个调用进行更细粒度的计时,甚至可以创建步骤

MiniProfiler的好处在于,您可以根据环境启用/禁用它,这使得它适合在Azure中运行(与Visual Studio Profiler相反)

您还可以查看,这将让您了解系统资源,但不是像MiniProfiler那样进行评测。不过,它会让您了解网络延迟、CPU和内存利用率

一旦您对此感到满意,就可以使用在客户端评测应用程序。它将让您了解Javascript的性能,包括CSS选择器和渲染

同样值得一提的是,VisualStudio在一些更高版本中具有非常好的性能,可以让您深入了解代码。在方法、调用计数等方面花费的时间

在这四种方法中,您应该能够找到大多数瓶颈,尤其是第一次通过时