One, IIS: Application pool Queue (application pool queues, on HTTP. Sys)
This is the first queue that is encountered after the request arrives at IIS, and when HTTP. SYS receives the request, it puts the request into the corresponding application pool queue, which reduces the context switch. Note that the application pool queue is for the w3wp process, but it exists in HTTP. SYS's memory area (http. SYS is a device driver running on Kernel-mode). If HTTP. SYS is compared to a NIC, the application pool queue is equivalent to the network card's buffer.
1) Setup method: Set the value of queue length in the IIS app pool settings (the default is 1000).
2) Monitoring method: The Windows Performance Monitor monitors the HTTP Service Request queues\arriverate.
3) Outbound Method: Worker process (W3wp,user-mode) takes the request from the application pool queue (completion port) for processing (communication between User-mode and Kernel-mode) through the completion port It is important to note that the IO operation is done here.
Second, ASP. NET:CLR thread pool Queue (CLR threadpool queue)
W3wp the request is fetched from the application pool queue, the next step is to remove a CLR thread from the CLR thread pool to process the request and place the request in the CLR thread pool queue If the pool is empty.
1) Setup method: Set Processmodel/requestqueuelimit in Machine.config (default is 1000), or set applicationpool in Aspnet.config.
<enable= "true" requestqueuelimit= "$">
2) Monitoring method: The Windows Performance Monitor monitors the ASP. NET V4.0.30319\requests Queued.
Resources
Understanding IIS 7.0 Architecture:iis 7.0 Core components
Everything ever wanted to know about ASP. NET Request queueing