5

我正在使用 ASP.NET 2.0、.NET 2.0 Framework 和 IIS 7。我看到“工作进程”选项下出现大量“请求”队列。记录的状态似乎比其他任何东西都重要Authenticate RequestExecute Request Handles

aspnet.configC:\Windows\Microsoft.NET\Framework64\v2.0.50727(32 位路径和 64 位路径)中进行了修改,包括:

maxConcurrentRequestsPerCPU="50000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="50000"

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"

我仍然得到这个问题。

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

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

Web 应用程序会随着请求阻塞而变慢。

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

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

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

服务器资源(CPU、RAM)没有被充分利用。

4

3 回答 3

3

我可以建议你看看 Tess Ferrandez 网站上的材料吗?如果它坏了,你应该修复它

当您在请求队列中遇到大量请求并且应用程序开始停止时,您想要做的是使用 ADPlus 捕获工作进程的转储。

一旦你抓住了这个转储,你想把它加载到 WinDBG+SOS 并开始追查罪魁祸首。

Tess 有一系列关于如何充分利用这些工具的实验室:

.NET 调试演示 - 信息和设置说明

如果可以,那么您还可以将分析器附加到应用程序(例如 RedGate 的Performance Profiler以尝试发现根本原因。

于 2011-04-17T12:53:43.493 回答
1

Ended up increasing the worker processes from 1 to 2 (web garden). Issue has not reoccurred since although were are using sessions but over the course of a month there have been no reports of session problems from end users.

EDITED TO ADD:

The specific issue was related to the generation of a extremely large CSV reports which are processed on the worker process server side, not a bug , just the way it works. HTML reports are fine, the XML transform is passed client side.

The separation of worker processes resolved the issues until the sever side xml transform to csv file creation can be passed to an addition process therefore removing any influence from other users. Was simply down to the size of the files / number of rows we were working with when trying to create CSV reports.

于 2011-08-17T07:49:26.370 回答
1

请按照知识库文章http://support.microsoft.com/kb/821268进行操作,如果您仍然遇到问题,请更新我。

您还可以在 IIS 7 中尝试 FREB 跟踪。http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis-7/

于 2011-04-15T13:33:26.653 回答