Диагностика неудачных нагрузочных тестов в Azure Load Testing

В этой статье вы узнаете, как диагностировать и устранять сбои нагрузочных тестов в Azure Load Testing. Нагрузочное тестирование Azure предоставляет несколько вариантов определения первопричин неудачного нагрузочного теста. Например, можно использовать панель мониторинга нагрузочного теста или скачать результаты теста или файлы журналов тестирования для подробного анализа. Кроме того, настройте серверные метрики для выявления проблем с конечной точкой приложения.

Нагрузочное тестирование Azure использует состояние тестового запуска для определения результата нагрузочного теста. В зависимости от индикатора можно использовать другой подход для выявления первопричины сбоя теста. Дополнительные сведения о состоянии тестового запуска см. в разделе "Анализ нагрузочных тестов" с помощью панели мониторинга результатов

Предпосылки

  • Учетная запись Azure с активной подпиской. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
  • Ресурс нагрузочного тестирования Azure, имеющий завершенный тестовый запуск. Если вам нужно создать ресурс нагрузочного тестирования Azure, см. статью "Создание и запуск нагрузочного теста".

Определение результата нагрузочного теста

Чтобы получить результат нагрузочного теста, выполните следующие действия.

  1. В портале Azure перейдите к вашему ресурсу нагрузочного тестирования.

  2. Выберите тесты в левой области, чтобы просмотреть список тестов.

  3. Выберите тест из списка, чтобы просмотреть все тестовые запуски для этого теста.

    Список тестовых запусков отображает поле "Состояние ".

    Снимок экрана: список тестовых запусков на портале Azure, выделение столбцов результатов теста и состояния теста.

  4. Либо выберите тестовый запуск, чтобы просмотреть панель мониторинга нагрузочного теста для тестового запуска.

    Снимок экрана: панель мониторинга нагрузочного теста с выделением сведений о состоянии неудачного теста.

Диагностика сбоев тестов

Вы можете использовать другой подход для диагностики сбоя нагрузочного теста на основе того, удалось ли Azure Load Testing выполнить и завершить тестовый скрипт.

Не удалось завершить нагрузочный тест

Когда нагрузочный тест не завершится, состояние тестового запуска установлено как "Ошибка " или "Остановлено".

Нагрузочный тест может завершиться сбоем из-за нескольких причин. Примеры того, почему нагрузочный тест не завершается:

  • В скрипте теста возникают ошибки.
  • В скрипте тестирования используются функции JMeter, которые не поддерживаются нагрузочном тестировании Azure. Узнайте о поддерживаемых функциях JMeter.
  • Тестовый скрипт ссылается на файл или плагин, недоступный в экземпляре тестового движка.
  • Функция автоматической остановки прервала нагрузочный тест, так как слишком много запросов завершается сбоем, а частота ошибок превышает пороговое значение. Дополнительные сведения о функциях автостопирования в Azure Load Testing.

Чтобы диагностировать тест, не завершив его, выполните следующие действия.

  1. Проверьте сведения об ошибке на панели мониторинга нагрузочного теста.
  2. Скачайте и проанализируйте журналы тестирования , чтобы определить проблемы в скрипте тестирования JMeter.
  3. Скачайте результаты теста , чтобы определить проблемы с отдельными запросами.
  4. Запустите тест в режиме отладки чтобы получить журналы отладки и данные запросов и ответов для неудавшихся запросов.

Вы также можете просмотреть аналитические сведения об ошибках на основе ИИ для тестового прогона после его завершения. Полученные аналитические сведения содержат причину ошибки и более практические рекомендации. Эта функция включена по умолчанию и может быть отключена в параметрах панели ошибок. См. заявление о конфиденциальности Майкрософт.

Замечание

Согласившись использовать аналитические сведения об ошибках на основе искусственного интеллекта, вы соглашаетесь с тем, что файлы журналов для тестового запуска будут использоваться ИИ для создания рекомендаций.

Завершено нагрузочное тестирование

Нагрузочный тест может запустить скрипт теста до конца, но может не пройти все критерии сбоя теста. Если хотя бы один из критериев теста не прошел, состояние тестового запуска имеет значение Failed.

Выполните следующие действия, чтобы помочь диагностировать сбой теста в соответствии с критериями тестирования:

  1. Просмотрите критерии сбоя теста на панели мониторинга нагрузочного теста.
  2. Просмотрите статистику выборки на панели мониторинга нагрузочного теста, чтобы узнать, какие запросы в скрипте тестирования могут вызвать проблему.
  3. Просмотрите клиентские метрики на панели мониторинга нагрузочного теста. При необходимости можно отфильтровать диаграммы для определенного запроса с помощью элементов управления фильтрами.
  4. Скачайте результаты теста , чтобы получить сведения об ошибке для отдельных запросов.
  5. Проверьте метрики состояния тестовой платформы, чтобы выявить возможные конфликты использования ресурсов в тестовых установках.
  6. При необходимости добавьте компоненты приложения и отслеживайте метрики на стороне сервера , чтобы определить узкие места производительности для конечной точки приложения.

Скачивание журналов рабочих ролей Apache JMeter или Locust для нагрузочного теста

При запуске нагрузочного теста подсистемы нагрузочного тестирования Azure выполняют скрипт тестирования Apache JMeter или Locust. Во время нагрузочного теста Apache JMeter и Locust хранят подробные журналы в журналах рабочих узлов. Эти журналы рабочих ролей можно скачать для каждого тестового запуска на портале Azure. Нагрузочное тестирование Azure создает журнал работы для каждого экземпляра модуля тестирования.

Замечание

Нагрузочное тестирование Azure записывает только сообщения журнала с уровнем WARN или ERROR в журналах исполнителей. Чтобы получить DEBUG журналы, см. Выполнение тестов в режиме отладки.

Например, если в скрипте теста возникла проблема, статус нагрузочного теста — Неверный. В рабочих журналах можно найти дополнительные сведения о причине проблемы.

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

  1. В портале Azure перейдите к вашему ресурсу Azure Load Testing.

  2. Выберите тесты , чтобы просмотреть список тестов, а затем выберите нагрузочный тест из списка.

  3. В списке тестов выберите тестовый запуск для просмотра панели мониторинга нагрузочного теста.

  4. На панели инструментов выберите Download, а затем Logs. Чтобы просмотреть журналы на портале Azure, выберите "Вид". Файлы в контейнере хранилища можно просмотреть, выбрать необходимый файл и просмотреть файл. Если формат файла не поддерживается для просмотра, можно выбрать "Скачать ", чтобы скачать конкретный файл.

  5. Чтобы скачать файлы журналов в виде архивной папки, нажмите кнопку "Скачать".

    Теперь браузер должен начать скачивание архивной папки, содержащей файл журнала рабочего узла JMeter или Locust для каждого экземпляра тестового модуля.

    Снимок экрана, на котором показано, как скачать файлы журнала тестирования на странице сведений о тестовом запуске.

  6. Вы можете использовать любое zip-средство для извлечения папки и доступа к файлам журнала.

    Файл worker.log помогает диагностировать первопричину неудачного нагрузочного теста. На снимке экрана видно, что тест завершился сбоем из-за отсутствия файла.

    Снимок экрана: содержимое файла журнала JMeter.