我一直在努力了解IIS请求处理的内部情况。我在IIS 7.0和6.0中看到了关于ASP.Net线程使用情况的精彩博客。 (http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx)。我理解了线程如何在请求处理的ASP.Net部分(w3wp.exe)的范围内工作。但是我无法理解请求处理HTTP.sys组件的范围。
我有以下问题:
当HTTP.sys中有请求时,是否只有一个线程可以抓取请求并将其放入相应的应用池队列中?或者HTTP.sys组件中是否有任何线程池负责将请求放入应用程序池请求队列?
我也对参与整个请求处理过程的线程池总数感到困惑,即从http.sys到处理程序组件。
总共有三个线程池,一个在HTTP.sys中,第二个用于IIS线程池,它从应用程序池队列中获取请求并发布到asp.net,第三个是执行ASP.Net管道工作的CLR线程池。
有人可以回答上述问题吗?