2

Как диагностировать узкие места производительности (время отклика) в Azure?Лазурное длинное время отклика?

У меня есть сайт .NET Core на Azure, который состоит из службы веб-приложений и одной базы данных SQL.

Я установил нагрузочный тест и развернул его через облако, чтобы попасть на сайт. Свойства конфигурации для испытательной нагрузки агентов являются

  • 4 ядра
  • старта на 10 одновременных пользователей + 10 каждых 20 секунд, до 150 пользователей
  • 5 второго раза мозгового между запросами

Распределение ресурсов веб-приложений выглядит следующим образом:

  • 2 экземпляра
  • 4 сердечника, 7GB ОЗУ (S3 Стандартный)

Это изображение показывает эффективность использования оборудования во время нагрузочного теста (2 испытания показали, около 1 вечера и 1:30 вечера)

enter image description here

Кажется разумным, за исключением того, что время ответа, на мой взгляд, слишком медленное, учитывая, что аппаратное обеспечение вообще не подвергается стрессу. Например, у 10 пользователей время моего ответа начинается с 20 мс, но у 150 пользователей (в конце теста), я вижу 5 секундное время ответа.

enter image description here

Для последней части теста, Мои запросы в секунду было примерно 50.

enter image description here

производительности баз данных, в 100DTUs, как представляется, не является фактором: enter image description here

Что еще я могу сделать, чтобы диагностировать медленное время отклика? Если аппаратное обеспечение веб-сервера не привязано, и база данных даже не чихает, какие другие кнопки можно включить в Azure?

ответ

1

Удлиненное время отклика может быть вызвано различными причинами, например, ограничениями по пропускной способности, ограниченным источником, плохим дизайном приложения, зависимостью тесно связанного компонента и т. Д. Дополнительная информация о том, как устранить проблемы с медленными веб-приложениями, обратитесь к документу. Некоторые из них вырваны из документа.

Включить ведение журнала диагностики для вашего веб-приложения.

WebApp предоставляет диагностические функции для регистрации информации как с веб-сервера, так и с веб-приложения. Мы можем включить Подробное протоколирование ошибок, Failed Request трассировки, ведение журнала веб-сервера для веб-сервера диагностики

Использование Куду отладки консоли (https:. // scm.azurewebsites.net/) Куду предоставляет параметры среды для приложения, журнал поток, диагностический свалка

Мы также можем использовать Azure Application Insights для мониторинга использования и производительности нашего приложения, после чего мы можем получить более подробную информацию о запросе, более подробную информацию об исключении, время отклика и т. д. Если мы получим более подробную информацию об исключении приложения, ошибке запроса, журналах сервера и журнале приложений, это будет более полезно для нас, чтобы диагностировать.

enter image description here

Есть также некоторые связанные статьи о том, как диагностики Web App и как использовать идеи применения:

Enable diagnostics logging for web apps in Azure App Service

Monitor performance in web applications

Diagnose exceptions in your web apps with Application Insights

Using Search in Application Insights

0

Попробуйте использовать новые расширения реликтовые Это обеспечивает глубокое понимание времени отклика и многое другое с бесплатной учетной записи

Вы также можете включить представление приложений на веб-приложения. Он предоставит вам подробную информацию о времени отклика и других деталях.

Смежные вопросы