Поделиться через


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

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

Нагрузочное тестирование Azure использует два индикатора для определения результата нагрузочного теста:

  • Состояние теста: указывает, удалось ли нагрузочному тесту успешно запустить и запустить скрипт теста до конца. Например, состояние теста неуспешно, если в тестовом скрипте JMeter или Locust возникает ошибка, или если прослушиватель автостопа прервал нагрузочное тестирование, так как слишком много запросов завершилось сбоем.

  • Результат теста: указывает результат оценки критериев сбоя теста. Если выполнен хотя бы один из критериев сбоя теста, результат теста имеет значение Failed.

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

Предпосылки

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

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

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

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

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

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

    В списке тестов отображаются поля результатов теста и состояния теста .

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

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

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

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

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

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

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

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

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

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

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

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

Нагрузочный тест может запустить скрипт теста до конца (состояние теста равно Готово), но может не пройти все критерии сбоя теста. Если по крайней мере один из критериев теста не прошел, результат теста тестового запуска имеет значение 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.

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

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

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

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

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