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


Оптимизация Функции Azure для производительности и затрат с помощью нагрузочного тестирования Azure

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

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

Оптимизатор производительности включает следующие возможности:

  • Одновременные тесты: взаимодействие с контекстом, в котором можно быстро создавать и запускать тесты, указывая различные конфигурации памяти и параллелизма HTTP с ожидаемыми нагрузками.
  • Параллельное сравнение: оцените метрики производительности из результатов нагрузочного теста в конфигурациях масштабирования и параллелизма, помогая выбрать правильную конфигурацию.
  • Метрики: правильное изменение размера на основе метрик производительности для оптимизации затрат.

Предпосылки

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

  • Приложение-функция в плане потребления Flex с хотя бы одной функцией с триггером HTTP. Если вам нужно создать приложение-функцию, см. статью "Создание приложений-функций и управление ими" в плане потребления Flex.

  • Чтобы запустить тестовый профиль, учетная запись Azure должна иметь следующие разрешения в приложении:

    • Microsoft.Web/sites/read
    • Microsoft.Web/sites/write
    • Microsoft.Web/sites/slots/read
    • Microsoft.Web/sites/slots/write По умолчанию роль участника веб-сайта уже имеет эти разрешения.

Запуск оптимизатора производительности в Функции Azure

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

  1. Войдите на портал Azure.

  2. Перейдите в приложение "Функции", размещенное в плане потребления Flex.

  3. В разделе "Производительность" приложения выберите "Оптимизатор производительности".

  4. Если у вас нет ресурса Azure Load Testing в подписке, создайте его, выбрав "Создать ресурс нагрузочного тестирования".

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

Создание тестового профиля

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

  1. Выберите "Создать тестовый профиль", чтобы создать новый тестовый профиль .

  2. На вкладке "Конфигурация профиля" сначала введите сведения о тесте:

    Поле Описание
    Ресурс нагрузочного тестирования Выберите ресурс нагрузочного тестирования.
    Имя профиля теста Введите уникальное имя профиля теста.
    Описание профиля теста (Необязательно) Введите описание тестового профиля.
    Запустить тест после создания При выборе профиль теста запускается автоматически после создания теста.
  3. В разделе "Конфигурация функций" выберите конфигурацию приложения "Функции", которую вы хотите проверить. Размер памяти экземпляра и параллелизм HTTP можно выбрать. Вы можете выбрать до десяти сочетаний памяти и параллелизма.

    Замечание

    После запуска тестового профиля изменения конфигурации вносятся непосредственно в приложение. Приложение-функция перезагрузится для каждой комбинации, и нагрузочный тест запускается в приложении.

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

  4. В разделе "Сведения о запросе" введите сведения о запросе для приложения-функции. Можно указать метод запроса, URL-адрес и заголовки.

  5. Выберите "Добавить запрос", чтобы добавить HTTP-запросы к нагрузочному тесту.

    На странице "Добавление запроса" введите сведения о запросе:

    Поле Описание
    Имя запроса Уникальное имя в нагрузочном тесте для идентификации запроса. Это имя запроса можно использовать при определении критериев тестирования.
    Имя функции Выберите функцию, которую требуется проверить
    Ключ Выберите ключ, необходимый для доступа к функции
    Метод HTTP Выберите метод HTTP из списка. Сервис Azure для нагрузочного тестирования поддерживает GET, POST, PUT, DELETE, PATCH, HEAD и OPTIONS.
    параметры запроса. (Необязательно) Введите параметры строки запроса для добавления к URL-адресу.
    Заголовки (Необязательно) Введите заголовки HTTP для включения в HTTP-запрос.
    Тело (Необязательно) В зависимости от метода HTTP можно указать содержимое текста HTTP. Нагрузочное тестирование Azure поддерживает следующие форматы: необработанные данные, представление JSON, JavaScript, HTML и XML.
  6. Перейдите на вкладку "Конфигурация загрузки", чтобы настроить параметры загрузки для нагрузочного теста.

    Поле Описание
    Экземпляры обработчика Введите количество экземпляров подсистемы нагрузочных тестов. Нагрузочный тест выполняется параллельно во всех экземплярах ядра.
    Шаблон загрузки Выберите шаблон нагрузки (линейный, шаг, пик) для увеличения до целевого числа виртуальных пользователей.
    Одновременные пользователи на ядро Введите число виртуальных пользователей для имитации на каждом из тестовых ядр. Общее количество виртуальных пользователей для нагрузочного теста: #test подсистем * #users на ядро.
    Длительность теста (минуты) Введите длительность нагрузочного теста в минутах.
    Время увеличения (минуты) Введите время нагрузочного теста в минутах. Время нарастания — это время, необходимое для достижения целевого числа виртуальных пользователей.
  7. При необходимости настройте параметры сети, если приложение "Функции" не является общедоступным.

    Узнайте больше о частных размещенных конечных точках нагрузочного тестирования.

  8. Выберите "Проверка и создание ", чтобы просмотреть конфигурацию тестового профиля.

  9. Выберите "Создать", чтобы создать тестовый профиль. Теперь нагрузочное тестирование Azure создает тестовый профиль.

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

Приложение "Функции" возвращается к исходной конфигурации после завершения выполнения тестового профиля.

Показать результаты

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

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

Дальнейшие шаги