我对运行网站比较陌生,虽然熟悉桌面应用程序的统计分析器,但不确定如何开始分析网站性能,因为有很多潜在的瓶颈,而且不知道有哪些网站性能分析工具。
我查看了一些其他问题中的有用建议,但不确定它们是否完整。主要建议是使用 Azure 性能计数器和这个答案中的建议。
总的来说,它们是: 使用 Firebug 分别确定呈现时间和加载时间,以便可以确定是出现了呈现问题还是服务器问题。
如果是服务器端: 测试一个小的静态页面,例如只有一个 GIF 的页面。如果速度较慢,则可能存在 CPU 问题。否则,可能是 I/O 绑定或数据库性能问题。
可以使用性能计数器检查服务器方面的内容,例如: 内存 垃圾回收 tcp/ip 问题 发送/接收字节 请求请求、排队、拒绝 请求等待时间、处理时间
从我的幼稚观点来看,这个列表中似乎缺少传统桌面应用程序所具有的分析,即堆栈状态占用的百分比(即我们在哪些函数中花费了时间,以及在什么上下文中)。另一个缺失项是分析数据库性能,这似乎可能与本地环境中的情况不同,特别是如果开始处理扩展性方面的问题。还有用于第三方服务请求所花费的时间,但也许可以使用 Azure 性能计数器来完成(?)。
对于这个问题的幼稚性我表示歉意。我需要哪些工具和方面来对 Azure MVC ASP.NET 网站进行性能分析,你会对上述列表进行哪些更改?