Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете автоматизировать нагрузочный тест в Azure Load Testing, создав конвейер CI/CD. Из этой статьи вы узнаете, как вручную настроить GitHub Actions, Azure Pipelines или другие средства CI для вызова существующего теста в Azure Load Testing. Автоматизируйте нагрузочный тест для непрерывной проверки производительности и стабильности приложения под нагрузкой.
Чтобы добавить существующий нагрузочный тест в конвейер CI/CD:
- Настройте проверку подлинности службы, чтобы разрешить средству CI подключаться к ресурсу нагрузочного тестирования Azure.
- Добавьте входные файлы нагрузочного теста в репозиторий, например скрипт теста и конфигурацию YAML нагрузочного теста.
- Обновите определение конвейера CI/CD, чтобы вызвать нагрузочное тестирование Azure.
Предварительные условия
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Тест нагрузочного тестирования Azure. Создайте нагрузочный тест на основе URL-адресов, используйте существующий скрипт JMeter или существующий скрипт Locust для создания нагрузочного теста.
- Организация и проект Azure DevOps. Если у вас нет организации Azure DevOps, ее можно создать бесплатно. Если вам нужна помощь по началу работы с Azure Pipelines, см. статью "Создание первого конвейера".
Настройка проверки подлинности службы
Чтобы запустить нагрузочный тест в рабочем процессе CI/CD, необходимо предоставить разрешение рабочему процессу CI/CD для доступа к ресурсу нагрузочного тестирования. Создайте учетную запись службы для рабочего процесса CI/CD и назначьте роль Load Test Contributor в Azure RBAC.
Создание сервисного подключения в Azure Pipelines
В Azure Pipelines вы создадите подключение к службе в проекте Azure DevOps для доступа к ресурсам в подписке Azure. При создании подключения к службе Azure DevOps создает объект учетной записи службы Microsoft Entra.
Войдите в организацию Azure DevOps (
https://dev.azure.com/<your-organization>
) и выберите проект.Замените текстовый заполнитель
<your-organization>
указателем вашего проекта.Выберите Параметры проекта>Подключения служб>+ Новое подключение службы.
В области подключения новой службы выберите Azure Resource Manager, а затем выберите Далее.
Выберите способ аутентификации "Субъект-служба" (автоматически) и выберите Далее.
Введите сведения о подключении службы и нажмите кнопку "Сохранить ", чтобы создать подключение службы.
Поле значение Уровень области Подписка. Подписка Выберите подписку Azure, в которую размещается ресурс нагрузочного тестирования. Группа ресурсов Выберите группу ресурсов, содержащую ресурс нагрузочного тестирования. Имя подключения службы Введите уникальное имя подключения к службе. Предоставление разрешения на доступ ко всем конвейерам Проверено. В списке подключений служб выберите подключение, которое вы создали ранее, и выберите Управление служебным агентом.
Портал Azure открывается на отдельной вкладке браузера и отображает сведения об учетной записи службы.
Скопируйте значение отображаемого имени в портал Azure.
Это значение используется на следующем шаге для предоставления разрешений на выполнение нагрузочных тестов субъекту-службе.
Предоставление доступа к нагрузочному тестированию Azure
Azure Load Testing использует Azure RBAC для предоставления разрешений для выполнения определенных действий в ресурсе нагрузочного тестирования. Чтобы запустить нагрузочный тест из конвейера CI/CD, необходимо предоставить роль участника нагрузочного теста служебному принципалу.
В портале Azure перейдите к вашему ресурсу Azure Load Testing.
Выберите элемент управления доступом (IAM)>Добавить>Добавить назначение роли.
На вкладке "Роль" выберите участника нагрузочного тестирования в списке ролей функций задания.
На вкладке "Участники" выберите " Выбрать участников", а затем используйте отображаемое имя, скопированное ранее для поиска субъекта-службы.
Выберите служебный принципал и нажмите Выбрать.
На вкладке Обзор и назначение выберите Обзор и назначение, чтобы добавить назначение роли.
Теперь вы можете использовать подключение к службе в определении рабочего процесса Azure Pipelines для доступа к ресурсу нагрузочного тестирования Azure.
Добавление файлов нагрузочных тестов в репозиторий
Чтобы запустить нагрузочный тест с помощью Azure Load Testing в рабочем процессе CI/CD, необходимо добавить все входные файлы нагрузочного теста в репозиторий системы управления версиями.
Если у вас нет существующего нагрузочного теста, добавьте следующие файлы в репозиторий исходного кода:
- Файл YAML конфигурации нагрузочного теста. Узнайте, как создать файл конфигурации нагрузочного теста YAML.
- Файл плана тестирования. Для тестов на основе JMeter добавьте скрипт теста JMeter (
JMX
файл). Для тестов на основе Locust добавьте скрипт Locust (.py
файл). Для тестов на основе URL-адресов добавьте JSON-файл с запросами. - Все файлы свойств пользователя JMeter.
- Все входные файлы данных, которые использует план тестирования. Например, CSV-файлы данных.
Если у вас есть нагрузочный тест, можно скачать параметры конфигурации и все входные файлы непосредственно из портал Azure. Выполните следующие действия, чтобы скачать входные файлы для существующего нагрузочного тестирования в портал Azure:
В портале Azure перейдите к вашему ресурсу Azure Load Testing.
На левой панели выберите "Тесты ", чтобы просмотреть список нагрузочных тестов, а затем выберите тест.
Выберите многоточие (...) рядом с тестовым запуском, с которым вы работаете, и выберите "Скачать входной файл".
Браузер скачивает архивную папку, содержащую входные файлы нагрузочного теста.
Используйте любое zip-средство для извлечения входных файлов.
Папка содержит следующие файлы:
-
config.yaml
: файл конфигурации YAML нагрузочного теста. Вы ссылаетесь на этот файл в определении рабочего процесса CI/CD. -
.jmx
или.py
: скрипт теста JMeter или Locust - Все дополнительные входные файлы, такие как CSV-файлы или файлы свойств пользователя, необходимые для запуска нагрузочного теста.
-
Зафиксируйте все извлеченные входные файлы в репозиторий системы управления версиями.
Используйте репозиторий исходного кода, в котором настраивается конвейер CI/CD.
Обновление определения рабочего процесса CI/CD
Azure Load Testing поддерживает как GitHub Actions, так и Azure Pipelines для проведения нагрузочных тестов.
Установка расширения Azure Load Testing для Azure DevOps
Чтобы создать и запустить нагрузочный тест, определение рабочего процесса Azure Pipelines использует расширение задачи "Нагрузочное тестирование Azure" из Azure DevOps Marketplace.
Откройте расширение задачи "Нагрузочное тестирование Azure" в Azure DevOps Marketplace и выберите "Получить" бесплатно.
Выберите организацию Azure DevOps и нажмите кнопку "Установить ", чтобы установить расширение.
Если у вас нет прав администратора для выбранной организации Azure DevOps, выберите "Запрос" , чтобы запросить администратора установить расширение.
Обновление рабочего процесса Azure Pipelines
Обновите рабочий процесс Azure Pipelines, чтобы запустить нагрузочный тест для ресурса нагрузочного тестирования Azure.
Войдите в организацию Azure DevOps (
https://dev.azure.com/<your-organization>
) и выберите проект.Выберите конвейеры в левой области навигации, выберите конвейер и выберите "Изменить ", чтобы изменить определение рабочего процесса.
Кроме того, выберите "Создать конвейер", чтобы создать новый конвейер в Azure Pipelines.
Используйте задачу
AzureLoadTest
для запуска нагрузочного теста.Укажите файл конфигурации нагрузочного теста, экспортируемый ранее в свойстве
loadTestConfigFile
.<load-testing-resource>
Заполните и<load-testing-resource-group>
заполнители именем вашего ресурса нагрузочного тестирования Azure и группы ресурсов.- task: AzureLoadTest@1 inputs: azureSubscription: $(serviceConnection) loadTestConfigFile: 'config.yaml' loadTestResource: <load-testing-resource> resourceGroup: <load-testing-resource-group>
При необходимости можно передать параметры или секреты в нагрузочный тест с помощью
env
илиsecrets
свойства.publish
Используйте задачу для публикации результатов теста в качестве артефактов в рабочем процессе Azure Pipelines.- publish: $(System.DefaultWorkingDirectory)/loadTest artifact: loadTestResults
Просмотр результатов нагрузочного теста
При запуске нагрузочного теста из конвейера CI/CD можно просмотреть сводные результаты непосредственно в журнале выходных данных CI/CD. Если вы опубликовали результаты теста в качестве артефакта сборочного процесса, вы также можете скачать CSV-файл для последующего создания отчетов.
Очистка ресурсов
Если вы не планируете использовать какие-либо созданные ресурсы, удалите их, чтобы не нести никаких дополнительных расходов.
Удаление изменений в Azure Pipelines:
Войдите в организацию Azure DevOps (
https://dev.azure.com/<your-organization>
) и выберите проект.Замените заполнитель текста идентификатором
<your-organization>
проекта.Если вы создали новый конвейер":
Если вы изменили существующее определение рабочего процесса, отмените изменения для запуска нагрузочного теста и сохраните рабочий процесс.
Удалите подключение службы:
- Выберите параметры проекта>подключения служб, затем выберите ваше подключение службы.
- Выберите "Редактировать" и "Удалить", чтобы удалить подключение службы.
Следующие шаги
Перейдите к следующей статье, чтобы узнать, как определить регрессию производительности, определив критерии сбоя теста и сравнивая тестовые запуски.