Нагрузочное тестирование веб-сайта с помощью скрипта JMeter в Azure Load Testing

Узнайте, как использовать скрипт Apache JMeter для нагрузочного тестирования веб-приложения с помощью Azure Load Testing из портал Azure или с помощью Azure CLI. Нагрузочное тестирование Azure позволяет выполнять существующий скрипт Apache JMeter и использовать его для запуска нагрузочного теста в масштабе облака. Узнайте больше о функциях JMeter, поддерживаемых нагрузочном тестировании Azure.

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

  • Вы хотите повторно использовать существующие скрипты JMeter для тестирования приложения.
  • Вы хотите протестировать конечные точки, которые не основаны на HTTP, например базы данных или очереди сообщений. Нагрузочное тестирование Azure поддерживает все протоколы связи, поддерживаемые JMeter.
  • Чтобы использовать команды CLI, Azure CLI версии 2.2.0 или более поздней версии. Запустите az --version , чтобы найти версию, установленную на компьютере. Если вам нужно установить или обновить Azure CLI, см . инструкции по установке Azure CLI.

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

Создание ресурса нагрузочного тестирования Azure

Сначала вы создадите ресурс верхнего уровня для нагрузочного тестирования Azure. Он предоставляет централизованное место для просмотра планов тестирования, результатов тестирования и связанных артефактов.

Если у вас уже есть ресурс нагрузочного тестирования, пропустите этот раздел и продолжайте создавать нагрузочный тест.

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

  1. Войдите на портал Azure с помощью учетных данных вашей подписки Azure.

  2. На домашней странице или в меню портала Azure выберите Создать ресурс.

  3. На странице Marketplace найдите и выберите Azure Load Testing.

  4. На панели "Нагрузочное тестирование Azure" нажмите кнопку "Создать".

  5. На странице "Создание ресурса нагрузочного тестирования" введите следующие сведения:

    Поле Description
    Подписка Выберите подписку Azure, которую вы хотите использовать для этого ресурса Нагрузочного тестирования Azure.
    Группа ресурсов Выберите имеющуюся группу ресурсов. Или нажмите кнопку "Создать", а затем введите уникальное имя для новой группы ресурсов.
    Имя Введите уникальное имя для идентификации ресурса Azure Load Testing.
    Имя не может содержать специальные символы, такие как \/"[]:|<>+=;,?*@&, или пробелы. Имя не может начинаться с символа подчеркивания (_), и оно не может заканчиваться точкой (.) или дефисом (-). Длина должна составлять от 1 до 64 символов.
    Местонахождение Выберите географическое расположение для размещения ресурса Azure Load Testing.
    Это расположение также определяет, откуда размещаются тестовые подсистемы и откуда исходят клиентские запросы JMeter.

    Примечание.

    При необходимости можно настроить дополнительные сведения на вкладке "Теги ". Теги — это пары "имя-значение", позволяющие классифицировать ресурсы и просматривать консолидированные выставления счетов, применяя один и тот же тег к нескольким ресурсам и группам ресурсов.

  6. После завершения настройки ресурса нажмите кнопку "Просмотр и создание".

  7. Просмотрите указанные параметры и выберите Создать. Создание учетной записи занимает несколько минут. Прежде чем продолжить, дождитесь, пока на странице портала появится сообщение Развертывание выполнено.

  8. Чтобы просмотреть новый ресурс, выберите "Перейти к ресурсу".

    Screenshot that shows the deployment completion screen.

  9. При необходимости управляйте доступом к ресурсу Azure Load Testing.

    Azure Load Testing использует управление доступом на основе ролей (RBAC) для управления разрешениями для ресурса. Если вы столкнулись с этим сообщением, у вашей учетной записи нет необходимых разрешений для управления тестами.

    Screenshot that shows an error message in the Azure portal that you're not authorized to use the Azure Load Testing resource.

Создание нагрузочного теста

Затем создайте нагрузочный тест, отправив скрипт теста Apache JMeter (JMX-файл). Тестовый скрипт содержит запросы приложения для имитации трафика к конечным точкам приложения.

Чтобы создать нагрузочный тест с помощью существующего скрипта JMeter в портал Azure:

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

  2. В области навигации слева выберите "Тесты ", чтобы просмотреть все тесты.

  3. Нажмите кнопку " + Создать", а затем нажмите кнопку "Отправить скрипт JMeter".

    Screenshot that shows the Azure Load Testing page and the button for creating a new test.

  4. На вкладке "Основные сведения" введите сведения о нагрузочном тесте:

    Поле Description
    Имя теста Введите уникальное имя теста.
    Описание теста (Необязательно) Введите описание нагрузочного теста.
    Запуск теста после создания Выберите этот параметр, чтобы автоматически запустить нагрузочный тест после сохранения.
  5. На вкладке "План тестирования" выберите скрипт Apache JMeter и нажмите кнопку "Отправить ", чтобы отправить файл в Azure.

    Screenshot that shows the Test plan tab.

    Примечание.

    Вы можете отправить дополнительные файлы конфигурации JMeter или другие файлы, на которые вы ссылаетесь в JMX-файле. Например, если в скрипте теста используются наборы данных CSV, можно отправить соответствующие CSV-файлы . См. также, как считывать данные из CSV-файла. Для файлов, отличных от скриптов JMeter и свойств пользователя, если размер файла превышает 50 МБ, zip-файл. Размер ZIP-файла должен быть ниже 50 МБ. Нагрузочное тестирование Azure автоматически распакует файл во время тестового запуска. Допускается только пять zip-артефактов с не более чем 1000 файлами в каждом ZIP-файле и несжатым общим размером 1 ГБ.

  6. Выберите Review + create (Просмотреть и создать). Просмотрите все параметры и нажмите кнопку "Создать ", чтобы создать нагрузочный тест.

Вы можете в любой момент обновить конфигурацию теста, например отправить другой JMX-файл. Выберите тест в списке тестов и нажмите кнопку "Изменить".

Запуск нагрузочного теста

Когда нагрузочное тестирование Azure запускает нагрузочный тест, он сначала развертывает скрипт JMeter и любые другие файлы на экземплярах тестового модуля, а затем запускает нагрузочный тест.

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

  1. Перейдите к ресурсу нагрузочного тестирования, выберите "Тесты " в левой области и выберите тест, созданный ранее.

    Screenshot that shows the list of load tests.

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

    Screenshot that shows the run confirmation page.

    Совет

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

  3. Обратите внимание на сведения о тестовом выполнении, статистике и метриках клиента в портал Azure.

    Если в скрипте теста есть несколько запросов, диаграммы отображают все запросы, а также можно отфильтровать определенные запросы.

    Screenshot that shows the test run dashboard.

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

Преобразование нагрузочного теста на основе URL-адреса в нагрузочный тест на основе JMeter

Если вы создали нагрузочный тест на основе URL-адресов, можно преобразовать тест в нагрузочный тест на основе JMeter. Нагрузочное тестирование Azure автоматически создает скрипт JMeter при создании нагрузочного теста на основе URL-адресов.

Чтобы преобразовать нагрузочный тест на основе URL-адреса в нагрузочный тест на основе JMeter:

  1. Перейдите к ресурсу нагрузочного тестирования и выберите "Тесты ", чтобы просмотреть список тестов.

    Обратите внимание на столбец типа теста, указывающий, основан ли тест на основе URL-адресов или на основе JMeter.

  2. Выберите многоточие (...) для нагрузочного теста на основе URL-адресов и выберите команду "Преобразовать в скрипт JMeter".

    Screenshot that shows the list of tests in the Azure portal, highlighting the menu option to convert the test to a JMeter-based test.

    Кроме того, выберите тест и нажмите кнопку "Преобразовать в сценарий JMeter" на странице сведений о тесте.

  3. На странице скрипта Convert to JMeter выберите "Преобразовать", чтобы преобразовать тест на основе JMeter.

    Обратите внимание, что тип теста изменился на JMX в списке тестов.

    Screenshot that shows the list of tests in the Azure portal, highlighting the test type changed to JMX for the converted test.