About the IIS site request queue length?

aspx 6 Reputation points
2021-12-27T08:19:18.123+00:00

OS: Windows Server 2016 Standard
IIS: Version 10.0.14393.0
Web Sites: WebIISQueueTest .NetFramework4.5 Asp.net mvc

Question 1: By which performance counter does the site's request queue length be monitored?

Question 2: The request queue length is set but can be exceeded, why not return 503.

Performance counters HTTP Service Request Queues (CurrentQueueSize): The request count in the IIS queue on windows server 2016

The CurrentQueueSize property always has a zero value , why ?

application pool img: https://i.stack.imgur.com/k8tsS.png

160468-iis-app-pool.png

Internet Information Services
ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,278 questions
C#
C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,288 questions
ASP.NET API
ASP.NET API
ASP.NET: A set of technologies in the .NET Framework for building web applications and XML web services.API: A software intermediary that allows two applications to interact with each other.
300 questions
0 comments No comments
{count} votes

12 answers

Sort by: Newest
  1. Zdravko Stojkoski 6 Reputation points
    2022-07-23T12:58:56.593+00:00

    Ill try to be of some assistance to point out what you (and I) were failing to realize.

    The issue is here that the iis setting is for the MAX que size, ie how many can go INTO the que. i had mine set to 10,000 form the default 1,000.
    People said it was too big, so i used the profiler to find this actual values, and to my surprise it was always 0... i instantly thought, its not logging correct.

    However, as i played with the site and was restarting app pools i would notice a small value would register, during a recent outage the value went up quite a bit.

    The reason for this is simple, what tells it to que things? IIS will try to process as many as it can based on a value called, maxConcurrentRequestsPerCPU, before offloading to the que.

    <applicationPool
    maxConcurrentRequestsPerCPU="5000"
    maxConcurrentThreadsPerCPU="0"
    requestQueueLimit="5000" />

    Basically, its set to unlimited, and the more CPU/CORES you throw at it the WORSE it is, taking more and more , never needing or hitting the que!

    What's worse is that this is now a secret setting, it used to be in the UI from what I gathered..

    I hope this helps, if im completely of the mark, please let me know too.

    https://learn.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/web/applicationpool-element-web-settings?redirectedfrom=MSDN

    other good docs
    https://www.ais.com/comparing-rpc-with-messaging-for-handling-spikes-in-load-part-2/
    https://techexpert.tips/iis/iis-limiting-concurrent-connections/
    https://serverfault.com/questions/869448/difference-between-limit-number-of-connections-setting-in-iis-and-the-max-pool-s
    https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831681(v=ws.11)?redirectedfrom=MSDN#Edit_Limits

    1 person found this answer helpful.
    0 comments No comments

  2. Ken Tucker 5,846 Reputation points
    2022-01-04T10:56:06.643+00:00

  3. aspx 6 Reputation points
    2022-01-04T10:25:53.99+00:00

    Microsoft IIS BUG!!! , HTTP Service Request Queues Performance counter

    Why do I say there are bug,look at the pictures below, RejectedRequests has values from the monitor. Why CurrentQueueSize the queue have no values?

    162119-%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE-20220104181355.png
    162110-%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE-16412910652536.png

    HTTP Service Request Queues (All instances):
    CurrentQueueSize: Allows you to see the size if the HTTP Kernel side queue and thus to see if a huge number of requests are getting queued without being handled by the User Mode side
    RejectedRequests: Allows you to see if requests are rejected from Kernel side without being handled by the User Mode side

    @Bruce Zhang-MSFT
    @Sreeju Nair


  4. aspx 6 Reputation points
    2022-01-04T02:36:25.46+00:00

    please help answer, up......

    0 comments No comments

  5. aspx 6 Reputation points
    2021-12-30T07:29:09.613+00:00

    The key question is : "still waiting for connect in the queue" ,the queue was full, so rejected, How do I monitor it by performance counter????