IIS 7工作进程瓶颈,在应用程序池ASP.NET 3.5 + 2.0下有大量等待请求

| 我正在使用ASP.NET 2.0,.NET 2.0 Framework和IIS7。我看到大量的“请求”队列出现在“工作进程”选项下。记录的状态似乎比其他任何东西都多ѭ0和ѭ1。 我在
C:\\Windows\\Microsoft.NET\\Framework64\\v2.0.50727
(32位路径和64位路径)中对
aspnet.config
进行了修改,以包括:
maxConcurrentRequestsPerCPU=\"50000\"
maxConcurrentThreadsPerCPU=\"0\"
requestQueueLimit=\"50000\"
我对
C:\\Windows\\Microsoft.NET\\Framework64\\v2.0.50727\\CONFIG
(32位和64位路径)中的
machine.config
进行了修改,以包括:
autoConfig=\"false\"
maxIoThreads=\"100\"
maxWorkerThreads=\"100\"
minIoThreads=\"50\"
minWorkerThreads=\"50\"
minFreeThreads=\"176\"
minLocalRequestFreeThreads=\"152\"
我仍然遇到这个问题。 该问题表现为工作进程队列中的大量请求。 发生此问题时,到网站的当前连接数将显示500。我认为我没有看到并发连接超过500个而没有发生此问题。 随着请求的阻塞,Web应用程序变慢。 刷新应用程序池可以解决一段时间(如预期的那样),因为负载分散在两个池之间。 问题FIXED REQUEST的应用程序池已设置为在50000刷新。 注意:我相信.NET 3.5框架使用2.0框架的appnet和计算机配置文件。 服务器资源(CPU,RAM)未充分利用。     
已邀请:
我可以建议您看看Tess Ferrandez网站上的材料吗?如果损坏,则应修复。 您想要做的是,当您在请求队列中遇到大量请求时以及应用开始停止时,使用ADPlus捕获工作进程的转储。 抓住此转储后,您希望将其加载到WinDBG + SOS中并开始跟踪罪魁祸首。 Tess有一系列关于如何利用这些工具产生巨大效果的实验室:   .NET调试演示-信息和设置说明 如果可以,那么您还可以将分析器附加到应用程序(例如RedGate的Performance Profiler,以尝试找出根本原因。     
请按照知识库文章http://support.microsoft.com/kb/821268进行操作,如果仍然遇到问题,请向我更新。 您也可以尝试在IIS 7中进行FREB跟踪。http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis-7/     
最终将工作流程从1增加到2(网络花园)。自从虽然正在使用会话以来,就再也没有发生过问题,但是在一个月的时间内,没有来自最终用户的会话问题报告。 编辑添加: 特定的问题与生成非常大的CSV报告有关,该报告在工作进程服务器端处理,而不是错误,仅是其工作方式。 HTML报告很好,XML转换通过客户端。 工作进程的分离解决了这些问题,直到可以将服务器端xml转换为csv文件的创建转换传递给附加进程,从而消除了其他用户的影响。只是减少了尝试创建CSV报告时要处理的文件大小/行数。     

要回复问题请先登录注册