Solicitações http do site Azure ASP.NET enfileiradas

Solicitações http do site Azure ASP.NET enfileiradas

Temos um site implantado no Azure que apresenta um desempenho péssimo. Quando a carga aumenta, os tempos de resposta aumentam para minutos inteiros! A carga da CPU nem é alta, em algum lugar na região de 40% (executamos uma instância média (S2)).

Depois de muita depuração (eu não tinha ideia do que causava isso), finalmente me deparei com um log 'FREB' onde diz que as solicitações estão sendo enfileiradas:

  1. AspNetStart Data1="GET", Data2="/profiel/aanvullen", Data3="" 13:48:44.279
  2. AspNetReqQueued 13:48:44,810
  3. AspNetReqDequeued 13:49:39,545
  4. AspNetAppDomainEnter Data1="/LM/W3SVC/xxxx/ROOT-1-xxxxx

Achei que as instâncias do Azure seriam configuradas 'de maneira ideal' imediatamente, para que eu não precisasse me preocupar em definir coisas como maxconnectionou maxConcurrentThreadsPerCPU. O site não usa banco de dados, mas invoca duas APIs REST diferentes, então pensei que ocorreria fila lá. Tentei verificar a webrequest.ServicePoint.ConnectionLimitpropriedade, mas lembro que ela imprimiu algo em torno de 2 milhões (ou pode ter sido o máximo int).

Como o uso da CPU é baixo, o Azure não criará uma nova instância e não acho que outra instância ajude.

Basicamente eu tenho 2 perguntas:

  1. Qual poderia ser a causa disso/o que devo mudar?
  2. Como eu poderia depurar isso? Existem tantos gráficos e configurações no Azure. Não tenho certeza de onde posso ver exatamente o que preciso ver. A largura de banda é um gargalo, o número de solicitações abertas para um determinado serviço da web, outra coisa, etc.

informação relacionada