HTTP-запросы веб-сайта Azure ASP.NET поставлены в очередь

HTTP-запросы веб-сайта Azure ASP.NET поставлены в очередь

У нас есть веб-сайт, развернутый на Azure, который имеет ужасную производительность. Когда нагрузка увеличивается, время отклика увеличивается до целых минут! Загрузка ЦП даже не высокая, где-то в районе 40% (мы запускаем один средний экземпляр (S2)).

После долгой отладки (я понятия не имел, что стало причиной этого) я наконец наткнулся на журнал «FREB», в котором говорится, что запросы ставятся в очередь:

  1. AspNetStart Data1="GET", Data2="/профиль/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

Я думал, что экземпляры Azure будут настроены «оптимально» из коробки, так что мне не придется беспокоиться о настройке таких вещей, как maxconnectionили maxConcurrentThreadsPerCPU. Сайт не использует базу данных, но он вызывает 2 разных REST API, поэтому я думал, что очередь будет происходить там. Я попробовал проверить свойство, webrequest.ServicePoint.ConnectionLimitно я помню, что оно вывело что-то вроде 2 миллионов (или, возможно, max int).

Поскольку загрузка ЦП низкая, Azure не будет запускать новый экземпляр, и я не думаю, что еще один экземпляр поможет.

По сути у меня 2 вопроса:

  1. В чем может быть причина? Что мне следует изменить?
  2. Как мне это отладить? В Azure так много графиков и настроек. Я не уверен, где я могу увидеть именно то, что мне нужно увидеть. Является ли пропускная способность узким местом, количество открытых запросов к определенному веб-сервису, что-то еще и т. д.

Связанный контент