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


Обзор автомасштабирования с помощью масштабируемых наборов виртуальных машин Azure

Масштабируемый набор виртуальных машин Azure может увеличить или уменьшить количество виртуальных машин, на которых выполняется приложение. Количество экземпляров можно обновить несколькими способами:

  • Увеличение или уменьшение вместимости набора масштабирования вручную
  • На основе заданного расписания
  • Согласно правилам, основанным на пороговых значениях метрик
  • Автоматически на основе шаблонов использования, обнаруженных прогнозным искусственным интеллектом

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

Замечание

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

Масштабирование вручную

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

  1. Перейдите к существующему масштабируемому набору виртуальных машин.
  2. В разделе "Параметры" выберите вкладку "Масштабирование ".
  3. Выберите ручной масштаб, если он еще не выбран.
  4. Обновите число экземпляров.
  5. Нажмите кнопку Сохранить.

Преимущества автоматического масштабирования

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

Замечание

При использовании автоматического восстановления экземпляров для масштабируемого набора максимальное количество экземпляров в масштабируемом наборе может составлять 1000. Узнайте больше об автоматическом восстановлении экземпляров.

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

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

Использование метрик на основе узла

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

Правила автомасштабирования, использующие метрики на основе узлов, можно создать с помощью одного из следующих средств:

Чтобы создать правила автомасштабирования, использующие более подробные метрики производительности, можно установить и настроить расширение диагностики Azure на виртуальных машинах или настроить приложение с помощью App Insights.

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

Источники метрик

Правила автомасштабирования могут использовать метрики из одного из следующих источников:

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

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

При создании правил автомасштабирования доступны следующие метрики на основе хоста. Если вы используете расширение диагностики Azure или App Insights, определите, какие метрики следует отслеживать и использовать с правилами автомасштабирования.

Имя метрики
Процент использования ЦП
Входящий трафик сети
Сеть отключена
Диск считывает байты
Байты при записи на диск
Операции чтения с диска в секунду
Операции записи на диск в секунду
Оставшиеся кредиты ЦП
Использованные кредиты ЦП

При создании правил автомасштабирования для мониторинга заданной метрики правила см. в одном из следующих действий агрегирования метрик:

  • Среднее значение
  • Минимум
  • Максимум
  • Итог
  • Последний
  • Численность

Затем правила автомасштабирования активируются при сравнении метрик с определенным пороговым значением с одним из следующих операторов:

  • Больше чем
  • Больше или равно
  • Меньше
  • Меньше или равно
  • Равно
  • Не равно

Действия при срабатывании правил

При активации правила автомасштабирования масштабируемый набор может автоматически масштабироваться одним из следующих способов:

Операция масштабирования Вариант использования
Увеличить счетчик на Фиксированное количество создаваемых виртуальных машин. Полезно в масштабируемых наборах с меньшим количеством виртуальных машин.
Увеличьте процент на Увеличение виртуальных машин на процентной основе. Хорошо подходит для крупных наборов, где фиксированное увеличение может не заметно улучшить производительность.
Увеличьте число до Чтобы достичь требуемого максимального количества виртуальных машин, создайте столько виртуальных машин.
Уменьшить счетчик на Фиксированное число виртуальных машин для удаления. Полезно в масштабируемых наборах с меньшим количеством виртуальных машин.
Уменьшить процент на Снижение виртуальных машин в процентах. Хорошо подходит для более крупных наборов, где фиксированное сокращение может не заметно уменьшить потребление ресурсов и затраты.
Уменьшить количество до Удалите столько виртуальных машин, сколько требуется для достижения требуемого минимального объема.

Метрики внутри гостевой виртуальной машины с использованием расширения диагностики Azure

Расширение диагностики Azure — это агент, который выполняется внутри виртуальной машины. Агент отслеживает и сохраняет метрики производительности в хранилище Azure. Эти метрики производительности содержат более подробные сведения о состоянии виртуальной машины, например AverageReadTime для дисков или PercentIdleTime для ЦП. Правила автомасштабирования можно создавать на основе более подробной осведомленности о производительности виртуальной машины, а не только в процентах от использования ЦП или памяти.

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

Дополнительные сведения см. в статьях о том, как включить расширение диагностики Azure на виртуальной машине Linux или виртуальной машине Windows.

Метрики уровня приложения с помощью App Insights

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

Дополнительные сведения о App Insights см. в разделе "Что такое Application Insights".

Запланированное масштабирование

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

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

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

Ограничения

  • Для заданного масштабируемого набора можно использовать до 20 правил автомасштабирования.

Дальнейшие действия

Вы можете создать правила автомасштабирования, использующие метрики на основе хоста с помощью одного из следующих инструментов:

Сведения об управлении виртуальными машинами см. в статье "Управление масштабируемыми наборами виртуальных машин" с помощью Azure PowerShell.

Сведения о создании оповещений при срабатывании правил автоматического масштабирования см. в разделе: Использование действий автоматического масштабирования для отправки уведомлений по электронной почте и оповещений веб-перехватчика в Azure Monitor. Журналы аудита также можно использовать для отправки уведомлений по электронной почте и оповещений через веб-хуки в Azure Monitor.