![IIS httppipeline 中的请求是按顺序处理的吗?](https://linux22.com/image/611120/IIS%20httppipeline%20%E4%B8%AD%E7%9A%84%E8%AF%B7%E6%B1%82%E6%98%AF%E6%8C%89%E9%A1%BA%E5%BA%8F%E5%A4%84%E7%90%86%E7%9A%84%E5%90%97%EF%BC%9F.png)
基于iis架构,客户端请求到达IIS会经过httppipeline,具体来说是经过各个httpmodule,最后到达各自的httphandler,再到达worker进程,这个是顺序发生的吗?
假设一秒钟内有 10,000 个请求同时到达 Web 服务器,每个请求都会被逐一处理吗?如果 Web 服务器有多核 CPU 和高内存容量,这是否有助于 IIS 同时处理请求?
是否有任何网络服务器能够并行处理请求?
答案1
好问题 :) 您需要一个像样的盒子来处理每秒 10k 个请求,在 IIS 架构中,要处理这种类型的负载,您需要一个网络农场。http.sys > Process Activation Service > w3wp 是请求所采用的路径。每个应用程序池都有队列来一次处理请求。
http://www.dotnetfunda.com/articles/article821-beginners-guide-how-iis-process-aspnet-request.aspx http://msdn.microsoft.com/en-us/library/bb470252(v=vs.100).aspx http://technet.microsoft.com/en-us/library/cc745955.aspx
IIS 8 具有 NUMA 支持,这有助于扩展。 http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-multicore-scaling-on-numa-hardware
还有其他因素,内容类型和应用。:)