CPU a 50%, mas as solicitações do IIS / ASP.net ainda estão na fila

1

Temos uma VM (VMWare), que, ao testar a carga, parece começar a enfileirar solicitações em 120 usuários.

A CPU não parece ter atingido mais de 70%, por isso estou lutando para ver por que seria falha ao processar as solicitações?

O tempo da CPU é mostrado no canto inferior esquerdo em vermelho

    
por Stuart.Sklinar 23.02.2015 / 15:25

1 resposta

2

A CPU não é o único afunilamento para processar solicitações. Tudo depende do que seu aplicativo está fazendo. Se você está fazendo muito trabalho de IO ligado, isso pode ser um fator maior que o da CPU.

O ASP.net tem um número limitado de encadeamentos no ThreadPool, então, se todos estiverem ocupados, eles começarão a enfileirar. Verifique esta peça para obter algumas dicas sobre o enfileiramento de solicitações.

Você está fazendo muitas inserções / atualizações do SQL por solicitação? Obter alguns timings sobre aqueles, com Glimpse mesmo. Muitos deles e eles mantêm threads / pedidos aguardando respostas.

Você está ligando para algumas APIs de terceiros? Aqueles atrasam os threads / requisições em espera e há limitações em quantas conexões simultâneas são permitidas.

O que o aplicativo faz para cada usuário? você está recuperando mais de 1.000 registros?

Verifique este artigo de suporte do MS Connect , há um bom número de opções de configuração do IIS que podem ajudá-lo , se você não tiver mexido naqueles já.

Novamente, isso é sem saber o que seu aplicativo faz e como.

    
por 27.02.2015 / 19:50

Tags