I am trying to intentionally cause the http.sys queue to queue up by limiting the maximum number of worker threads to 1 and sending multiple requests to an API that keeps running forever.
I have read multiple articles where I understand that the http.sys deliver the request to an IIS worker process that hands off the request to a cheap CLR thread.
what I understand as well is that we were able to limit the max number or worker threads and IOCP worker threads by modifying the machine.config. I have set the value to 1 and sent 30 requests to an api that has infit loop but I have not really noticed that the HTTP Service Request Queues/Current Queue Size performance counter has increased, sometimes the ASP.Net v4.0.30319/Requests Queued increases but this is not what I expected, the http.sys queue only queues up when I send hundreds of requests. Below is the configuration I used to set the max worker and IO threads to 1
<processModel maxWorkerThreads="1" maxIoThreads="1">
Please note that I am doing local requests, my IIS version it 10.0.14393.0 and using windows server 2016 so not sure if this is related somehow.
References: https://learn.microsoft.com/en-us/troubleshoot/aspnet/performance-call-web-service#cause https://www.codeproject.com/Articles/38501/Multi-Threading-in-ASP-NET-2#:~:text=Inside%20the%20ASP.NET%20Worker,and%20databases%2C%20etc.). https://blog.leansentry.com/all-about-iis-asp-net-request-queues/
Thanks and Regards.