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


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

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

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

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

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

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

Необходимые компоненты

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

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

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

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

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

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

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

    Screenshot that shows the list of test runs in the Azure portal, highlighting the test result and test status columns.

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

    Screenshot that shows the load test dashboard, highlighting status information for a failed test.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

  4. На панели мониторинга выберите "Скачать" и выберите "Журналы".

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

    Screenshot that shows how to download the test log files from the test run details page.

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

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

    Screenshot that shows the JMeter log file content.