我很难搞清楚接下来要采取或研究的故障排除步骤。
我在一个IIS8网络服务器上运行了一个Web应用程序。最近,我们正在努力应对Web应用程序的性能。今天早上,webapplication'再次崩溃'。有了这个,我的意思是它没有回应任何新的请求。
因为Perfmon是你的朋友,所以我解雇了以下的柜台:
查看我已包含的图片。
我发现有趣的是“请求执行”仅在此时增加。并且...... CPU没有100%运行以摆脱所有这些请求。
由于我是这个Web应用程序的主要开发人员,我已经优化了许多高CPU网页。 有了这个SO线程,我希望找到瓶颈。也许有额外记录的提示。应用程序代码分析等。我可以在需要时提供有关设置或应用程序的更多信息。
希望你能提供帮助。非常感谢提前。
一些规格:
用户规格:
编辑: 我运行一个Perfmon数据收集集大约一个小时。恰好在网站崩溃的那一刻。我使用工具PAL来分析它。它只有很多关于内存低于5%的警告。 这个记忆问题显然是我们即将解决的问题。
我注意到的另一件事是IIS8中的“当前请求”列表非常庞大。它包含数百个“当前请求”。我希望这些请求达到超时值并向用户发送请求超时。
这是当前健康状况的打印屏幕:
此列表无限长。
而且,我刚才注意到的另一件事是,一个请求花了超过10分钟(!)来向用户传递一个byte []。 'state'是SendResponse。我认为这个用户是在一个低带宽的设备上。只要该用户正在下载 - 就会采用一个工作进程。我们应该如何准备这些待处理的长期请求?
答案 0 :(得分:0)
在https://pal.codeplex.com/查看PAL - 这将指导您收集大量统计数据,然后为您分析。
与CPU一起,其他瓶颈是内存,网络和磁盘IO。 PAL应该可以帮助您收集适当的统计数据 - 它有几个预定义的集合,例如Web服务器,数据库服务器等