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

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

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

A CPU não parece atingir mais de 70%, então estou lutando para ver por que ela não conseguiria processar as solicitações.

O tempo de CPU é mostrado no canto inferior esquerdo em vermelho Gráfico de CPU

Responder1

A CPU não é o único gargalo no processamento de solicitações. Tudo depende do que seu aplicativo está fazendo. Se você estiver realizando muito trabalho vinculado a IO, isso pode ser um fator maior que a CPU.

O ASP.net possui um número limitado de threads em seu ThreadPool, portanto, se estiverem todos ocupados, começarão a entrar na fila. Verificaresta peçapara obter algumas dicas sobre enfileiramento de solicitações.

Você está fazendo muitas inserções/atualizações de SQL por solicitação? Obtenha alguns horários, até mesmo com o Glimpse. Muitos deles e eles mantêm threads/solicitações aguardando respostas.

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

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

Verifique issoArtigo de suporte do MS Connect, há um bom número de opções de configuração do IIS que podem ajudá-lo, caso você ainda não as tenha ajustado.

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

informação relacionada