环境:
WinServer 2008R2 标准,MS VM 上的 IIS 7.5,配备 4 Xeon x5675 @ 3.07 GHz;
ISAPI 应用程序池 - 经典模式,无托管代码,启用 32 位。应用程序代码为 32 位,在 WOW64 下运行;最大工作进程数为 1;
我运行了一些压力测试,模拟了POSTS
在此环境中部署的新应用程序的同步处理。我确认并能够可预测地重现对超过 32 个同步处理的限制POSTS
:无论我如何配置模拟,一次 40 个,4 组 10 个请求等,结果都是一致的:前 32 个请求排队并在 IIS 管理控制台工作线程查看器中可见,并由我的应用程序成功处理。其余的请求被踢回客户端并显示“HTTP 1.1.5 错误” - 这些请求永远不会到达我的 IIS 应用程序,也永远不会显示在工作线程查看器中。
通过谷歌搜索,我发现了一些关于 IIS 6 中的限制机制的参考,该机制限制每个处理器同时处理 16 个请求。32 是 16x2,我推测我正在处理类似的事情,但我无法在 IIS 7.5 中找到对这种事情的任何直接引用。
我想了解更多有关这种明显的节流机制的信息:
这是正常行为,还是某种错误情况的结果?
这个明显的 16/32 请求限制可以以某种方式控制和配置吗?
在 IIS 日志中如何/在哪里可以找到有关被踢出的请求的信息。我对 IIS 日志不太熟悉(我是程序员,不是系统管理员),也从未对它们进行过任何特殊配置。我在 C:\inetpub\logs\LogFiles 中的默认日志文件中找不到任何踢出的迹象。