Нагрузочное тестирование приложений службы приложение Azure

В этой статье вы узнаете, как можно использовать нагрузочное тестирование Azure для тестирования приложений, размещенных в службе приложение Azure. служба приложение Azure — это полностью управляемая служба, которая позволяет создавать, развертывать и масштабировать веб-приложения и API-интерфейсы в облаке.

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

  • Убедитесь, что все компоненты приложения, а не только веб-приложение, могут обрабатывать ожидаемую нагрузку.

  • Убедитесь, что приложение соответствует вашим требованиям к производительности и стабильности.

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

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

  • Обнаруживайте регрессии производительности рано, интегрируя нагрузочное тестирование в конвейер CI/CD и указывая критерии сбоя теста.

Моделирование трафика с помощью нагрузочных тестов

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

  • Создание быстрого теста на основе URL-адресов
  • Использование скрипта Apache JMeter (JMX-файла)

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

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

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

На следующем снимке экрана показано, как создать нагрузочный тест на основе URL-адресов в портал Azure.

Начало работы с созданием нагрузочного теста на основе URL-адресов для службы приложение Azure.

Создание нагрузочного теста путем отправки скрипта JMeter

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

  • Тестирование нескольких страниц или конечных точек в одном тесте
  • Проверка проверенных конечных точек
  • Передача параметров в нагрузочный тест, например переменные среды или секреты
  • Тестирование конечных точек, отличных от HTTP, таких как подключения к базе данных
  • Настройка более расширенных патеров нагрузки
  • Повторное использование существующих скриптов JMeter

Приступить к созданию нагрузочного теста путем отправки скрипта JMeter.

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

## Мониторинг приложений для узких мест и проблем с подготовкой

Во время нагрузочного теста Azure Load Testing собирает метрики о тестовом выполнении:

  • Метрики на стороне клиента: метрики подсистемы тестирования, такие как сквозное время отклика, количество запросов в секунду или процент ошибок. Эти метрики дают общее представление о том, может ли приложение поддерживать имитированную нагрузку пользователя.

  • Серверные метрики: метрики ресурсов компонентов приложения Azure, такие как процент ЦП плана службы приложений, коды http-ответов или использование ресурсов базы данных.

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

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

Узнайте больше о том, как отслеживать метрики на стороне сервера в Azure Load Testing.

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

Снимок экрана: раздел

Настройка условий сбоя нагрузочного теста

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

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

При выполнении нагрузочных тестов в рамках конвейера CI/CD можно использовать критерии сбоя теста для выявления регрессий производительности с помощью сборки приложения.

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

Использование параметров для тестирования между слотами развертывания

При настройке нагрузочного теста можно указать параметры для передачи переменных среды или секретов скрипту нагрузочного теста. Эти параметры позволяют повторно использовать скрипт теста и перенастроить его. Узнайте, как использовать параметры для передачи переменных среды в нагрузочный тест.

Один из примеров — использование параметра в качестве переменной среды, чтобы избежать сохранения URL-адреса конечной точки приложения в тестовом скрипте. Можно также использовать переменные среды для передачи других параметров конфигурации в скрипт тестирования JMeter. Например, можно передать количество виртуальных пользователей или имя файла входного CSV-файла в тестовый скрипт.

Другое использование параметров — если вы хотите повторно использовать скрипт тестирования в нескольких слотах развертывания службы приложение Azure. Слоты развертывания — это динамические приложения с собственными именами узлов и отдельными URL-адресами. Используйте параметр для конечной точки приложения, а затем можно настроить промежуточные среды для приложения.

Снимок экрана: страница

Следующие шаги

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