Off late I have been trying to understand internal of IIS request processing. I came across nice blog on ASP.Net Thread Usage in IIS 7.0 and 6.0. (http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx). I understood part how threading works in scope of ASP.Net part (w3wp.exe) of request handling. However I couldn't understand request handing in scope of HTTP.sys component.
I have the following questions:
When request comes in HTTP.sys is there only single thread which grabs request and puts it in respective app pool queue? Or is there any threadpool in HTTP.sys component that takes care of putting requests in app pool request queues?
I am also confused about total number of threadpools that participates in whole request processing journey i.e. from http.sys to handler component.
Are there total three threadpools i.e. one in HTTP.sys, second for IIS threadpool which grabs requests from app pool queue and post to asp.net and third one i.e. CLR thread pool which performs ASP.Net pipeline work.
Could anybody please answer above questions?