Назад | Перейти на главную страницу

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

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

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

  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

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

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

В основном у меня 2 вопроса:

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