Автоматическое масштабирование в службе приложение Azure

Примечание.

Автоматическое масштабирование доступно для всех типов приложений: Windows и Linux (развертывание в виде кода и контейнера). Автоматическое масштабирование не поддерживается для трафика слота развертывания.

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

Сравнение масштабируемых и масштабируемых параметров, доступных в Служба приложений:

  Вручную Автомасштабирование Автоматическое масштабирование
Доступные ценовые категории Базовый и вверх Стандартный и вверх Ценовые категории ценовой категории Premium V2 (P1V2, P2V2, P3V2) и Premium V3 (P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3, P5MV3)
Масштабирование на основе правил No Да Нет, платформа управляет масштабированием и в зависимости от HTTP-трафика.
Масштабирование на основе расписания No Да Нет
Постоянно готовые экземпляры Нет, веб-приложение выполняется по количеству экземпляров вручную. Нет, веб-приложение выполняется на других экземплярах, доступных во время операции горизонтального масштабирования, на основе порогового значения, определенного для правил автомасштабирования. Да (минимум 1)
Предварительно подготовленные экземпляры No No Да (по умолчанию 1)
Максимальное число приложений для каждого приложения No No Да

Как работает автоматическое масштабирование

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

Ниже приведены несколько сценариев автоматического масштабирования.

  • Вы не хотите настраивать правила автомасштабирования на основе метрик ресурсов.
  • Вы хотите, чтобы веб-приложения в одном и том же Служба приложений план масштабировать по-разному и независимо друг от друга.
  • Веб-приложение подключено к базам данных или устаревшей системе, которая может не масштабироваться так быстро, как веб-приложение. Масштабирование автоматически позволяет задать максимальное количество экземпляров, в которых может масштабироваться план Служба приложений. Этот параметр помогает веб-приложению не перегружать серверную часть.

Включение автоматического масштабирования

Максимальное число экземпляров — это максимальное число экземпляров, которые может увеличиться Служба приложений план на основе входящих HTTP-запросов. Для планов Premium версии 2 и версии 3 можно задать максимальное увеличение до 30 экземпляров. Максимальное увеличение должно быть равно или больше количества рабочих ролей, указанных для плана Служба приложений.

Чтобы включить автоматическое масштабирование, перейдите в меню слева веб-приложения и выберите горизонтальное масштабирование (Служба приложений план). Выберите "Автоматически", обновите максимальное значение всплеска и нажмите кнопку "Сохранить".

Автоматическое масштабирование в портал Azure

Установка минимального количества экземпляров веб-приложения

Всегда готовые экземпляры — это параметр уровня приложения, чтобы указать минимальное количество экземпляров. Если нагрузка превышает то, что может обрабатывать всегда готовые экземпляры, добавляются дополнительные экземпляры (до указанного максимального всплеска для плана Служба приложений).

Чтобы задать минимальное количество экземпляров веб-приложения, перейдите в меню слева веб-приложения и выберите горизонтальное масштабирование (Служба приложений план). Обновите значение экземпляров Always ready и нажмите кнопку "Сохранить".

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

Установка максимального количества экземпляров веб-приложения

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

Чтобы задать максимальное количество экземпляров веб-приложения, перейдите в меню слева веб-приложения и выберите горизонтальное масштабирование (Служба приложений план). Выберите "Применить ограничение горизонтального масштабирования", обновите максимальный предел масштабирования и нажмите кнопку "Сохранить ".

Снимок экрана: максимальное ограничение масштабирования

Обновление предварительно подготовленных экземпляров

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

Вы не можете изменить предварительно подготовленный параметр экземпляра на портале, вместо этого следует использовать Azure CLI.

Отключение автоматического масштабирования

Чтобы отключить автоматическое масштабирование, перейдите в меню слева веб-приложения и выберите горизонтальное масштабирование (Служба приложений план). Выберите "Вручную" и нажмите кнопку "Сохранить ".

Снимок экрана: масштабирование вручную

Поддерживает ли автоматическое масштабирование приложения-функции Azure?

Внимание

Автоматическое масштабирование отключено, если Служба приложений веб-приложения и приложения-функции Azure находятся в том же плане Служба приложений.

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

Как работает автоматическое масштабирование за кулисами?

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

После утихания нагрузки платформа инициирует проверку потенциального масштабирования. Обычно этот процесс начинается примерно через 5–10 минут после остановки загрузки. Во время масштабирования экземпляры удаляются с максимальной скоростью каждые несколько секунд до минуты.

Кроме того, если несколько веб-приложений развертываются в одном плане службы приложений, платформа пытается выделить ресурсы между доступными экземплярами на основе нагрузки каждого отдельного веб-приложения.

Разделы справки выставляются счета за предварительно подготовленные экземпляры?

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

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

Однако, как только веб-приложение начнет получать HTTP-запросы, а пять экземпляров всегда готовы становятся активными, выделяется предварительно подготовленный экземпляр, а для него начинается выставление счетов.

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

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

Почему AppServiceHTTPLogs содержит записи журнала, аналогичные "/admin/host/ping" с состоянием 404?

Служба приложений автоматическое масштабирование периодически проверяет /admin/host/ping конечную точку вместе с другими механизмами проверки работоспособности, присущими платформе. Эти проверки реализуются специально. Иногда из-за существующих конфигураций платформы могут быть возвращены ошибки 404. Однако важно отметить, что эти 404 ошибки не должны влиять на доступность приложения или производительность масштабирования.

Если веб-приложение возвращает состояние 5xx, эти проверки связи конечных точек могут привести к периодическим перезапускам, хотя это редко. В настоящее время мы реализуем усовершенствования для решения этих периодических перезапусков. До этого убедитесь, что веб-приложение не возвращает состояние 5xx в этой конечной точке. Обратите внимание, что эти конечные точки проверки пинга не могут быть настроены.

Разделы справки отслеживать количество масштабируемых экземпляров во время события автоматического масштабирования?

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

Как сопоставление ARR влияет на автоматическое масштабирование?

приложение Azure служба использует файлы cookie маршрутизации запросов приложений, известные как сходство ARR. Файлы cookie сопоставления ARR ограничивают масштабирование, так как они отправляют запросы только на серверы, связанные с файлом cookie, а не на любой доступный экземпляр. Для приложений, которые хранят состояние, лучше увеличить масштаб (увеличить ресурсы в одном экземпляре). Для приложений без отслеживания состояния масштабирование (добавление дополнительных экземпляров) обеспечивает большую гибкость и масштабируемость. Файлы cookie ARR affinity включены по умолчанию в Служба приложений. В зависимости от потребностей приложения вы можете отключить файлы cookie сопоставления ARR при использовании автоматического масштабирования.

Чтобы отключить файлы cookie ARR Affinity: выберите приложение Служба приложений и в разделе "Параметры" выберите "Конфигурация". Затем выберите вкладку "Общие параметры". В разделе сходства ARR нажмите кнопку "Выкл.", а затем нажмите кнопку "Сохранить".

Дополнительные ресурсы