У меня есть веб-API, который находится в службе приложений Azure в рамках плана обслуживания приложения P3V2. Иногда время отклика становится слишком высоким (более 1 минуты), и приложение зависает. Я включил автоматическое масштабирование до 5 экземпляров, которые срабатывают, когда время отклика превышает 5 секунд.
Но когда я анализирую прошлые данные, когда происходят сбои, я обнаружил, что масштабирование делаетне поможет этот вопрос. Причина в том, что то же самое происходит много раз, но API не зависает.
Затем я попытался найти любую метрику, связанную с этой проблемой. Я обнаружил, что Количество дескрипторов становится высоким как раз перед зависанием API. Следующие показатели также увеличиваются примерно в одно и то же время:
- Время ответа - более 1 мин
- Ошибки сервера Http - высокий
- Время ЦП - нормальное
Эти снимки сделаны в том же диапазоне времени.
Время отклика
![Repsonse times](https://i.stack.imgur.com/8Mjsp.png)
Количество дескрипторов
![Handle count](https://i.stack.imgur.com/Cmzdn.png)
После перезапуска службы приложения API работает нормально. Когда это не так, он остается без ответа.
Может ли кто-нибудь помочь найти причину этого?
Обновление 1:
Работает несколько приложенийв том же плане обслуживания приложений. Между этими приложениями существуют внешние зависимости. Я использую хранилище Azure, служебную шину Azure и базу данных SQL Azure.
Также я заметил, что установленное значение TCP установлено высоким
![TCP Established](https://i.stack.imgur.com/G0CxM.png)
Еще один момент, который мне нужно упомянуть;когда я отслеживаю живые показатели , приложение не получало информации из приложения, когда происходило зависание.