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

sco*_*tus 5 asp.net performance iis-7 worker-process .net-3.5

我正在使用ASP.NET 2.0,.NET 2.0 Framework和IIS7。我看到“工作进程”选项下出现大量的“请求”队列。记录状态似乎Authenticate RequestExecute Request Handles比什么都重要。

我修改aspnet.configC:\Windows\Microsoft.NET\Framework64\v2.0.50727(32位路径和64位路径)以包括:

maxConcurrentRequestsPerCPU="50000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="50000"
Run Code Online (Sandbox Code Playgroud)

我修改machine.configC:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG(32位和64位路径)以包括:

autoConfig="false"
maxIoThreads="100"
maxWorkerThreads="100"
minIoThreads="50"
minWorkerThreads="50"
minFreeThreads="176"
minLocalRequestFreeThreads="152"
Run Code Online (Sandbox Code Playgroud)

我仍然遇到这个问题。

该问题表现为工作进程队列中的大量请求。

发生此问题时,到网站的当前连接数将显示500。我认为没有出现此问题的并发连接超过500个。

随着请求的阻塞,Web应用程序变慢。

刷新应用程序池可以解决一段时间(如预期的那样),因为负载分散在两个池之间。

问题FIXED REQUEST的应用程序池已设置为在50000刷新。

注意:我相信.NET 3.5框架使用2.0框架appnet和计算机配置文件。

服务器资源(CPU,RAM)未充分利用。

sco*_*tus 1

最终将工作进程从 1 个增加到 2 个(网络花园)。尽管我们正在使用会话,但问题并未再次发生,但在一个月的时间里,最终用户没有收到有关会话问题的报告。

编辑添加:

具体问题与生成非常大的 CSV 报告有关,该报告在工作进程服务器端进行处理,而不是错误,只是它的工作方式。HTML 报告很好,XML 转换是在客户端传递的。

工作进程的分离解决了这个问题,直到服务器端 xml 转换为 csv 文件创建可以传递到添加进程,从而消除其他用户的任何影响。只是取决于我们在尝试创建 CSV 报告时所使用的文件大小/行数。