Обзор рекомендаций по автомасштабированию

Завершено

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

Основные понятия автомасштабирования

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

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

  • Все пороговые значения вычисляются на уровне экземпляров. Например, "горизонтальное масштабирование по одному экземпляру, если среднее число ЦП > 80% при подсчете экземпляров равно 2", означает горизонтальное масштабирование, если средний ЦП по всем экземплярам превышает 80%.

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

Рекомендации по автомасштабированию

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

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

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

Выберите соответствующий статистический показатель для диагностической метрики

Для диагностических метрик можно выбрать одно из следующих опорных значений для масштабирования: Средний, Минимальный, Максимальный и Общий. Наиболее распространенные статистический показатель — Средний.

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

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

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

  • Увеличение числа экземпляров на один, если число потоков >= 600
  • Уменьшение числа экземпляров на один, если число потоков <= 600

Рассмотрим пример того, что может привести к противоречивому поведению. Рассмотрим следующую последовательность.

  1. Предположим, что сначала было два экземпляра, и затем среднее число потоков на один экземпляр увеличилось до 625.
  2. Служба автомасштабирования разворачивает третий экземпляр.
  3. Затем предположим, что среднее число потоков на экземпляр уменьшилось до 575.
  4. Перед уменьшением масштаба автомасштабирование пытается оценить, каким будет конечное состояние. Например, 575 x 3 (текущее число экземпляров) = 1725; 1725/2 (конечное число экземпляров при уменьшении масштаба) = 862,5 потока. Это означает, что если среднее количество потоков не меняется или даже немного уменьшается, службе автомасштабирования сразу после свертывания придется опять развертывать новый экземпляр. Однако если затем вновь увеличить масштаб, вся процедура будет повторяться, приводя к бесконечному циклу.
  5. Чтобы избежать такой ситуации, автомасштабирование вообще не уменьшает масштаб. Вместо этого она пропускает, а затем повторно оценивает условие при следующем выполнении задания службы. Это многих может сбить с толку, ведь все выглядело так, будто автомасштабирование не работало, когда среднее число потоков было равно 575.

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

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

  • Увеличение числа экземпляров на 1, если загрузка ЦП >= 80
  • Уменьшение числа экземпляров на 1, если загрузка ЦП <= 60

В данном случае:

  1. Предположим, что с самого начала существуют два экземпляра.
  2. Если средняя загрузка ЦП во всех экземплярах достигает 80 %, то служба автомасштабирования добавляет третий экземпляр.
  3. Теперь предположим, что со временем загрузка ЦП снижается до 60 %.
  4. Правило свертывания службы автомасштабирования оценивает конечное состояние, которое будет после свертывания. Например, 60 x 3 (текущее число экземпляров) = 180; 180/2 (конечное число экземпляров при уменьшении масштаба) = 90. Поэтому служба автомасштабирования не свертывает экземпляр, так как после этого ей пришлось бы тут же развернуть его. Вместо этого уменьшение масштаба пропускается.
  5. При следующей проверке автомасштабирования нагрузка ЦП продолжает снижаться до 50. Служба снова оценивает ее: 50 х 3 экземпляра = 150 / 2 экземпляра = 75. Это значение меньше порога горизонтального увеличения масштаба, равного 80, поэтому служба успешно выполняет горизонтальное уменьшение масштаба до двух экземпляров.

Рекомендации по масштабированию при настройке нескольких правил в профиле

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

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

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

  • если загрузка ЦП < 30 %, свернуть 1 экземпляр
  • если объем используемой памяти < 50 %, свернуть 1 экземпляр;
  • Если загрузка ЦП> 75 %, развернуть 1 экземпляр
  • Если объем используемой памяти > 75 %, развернуть 1 экземпляр

Затем происходят следующие события:

  • Если ресурсы ЦП загружены на 76 % и занято 50 % памяти, будет выполнено горизонтальное увеличение масштаба.
  • Если ресурсы ЦП загружены на 50 % и занято 76 % памяти, будет выполнено горизонтальное увеличение масштаба.

С другой стороны, если нагрузка ЦП составляет 25 %, а память занята на 51 %, автомасштабирование не выполняет развертывание. Автоматическое масштабирование будет выполняться, если объем ЦП составляет 29 %, а объем памяти — 49 %, так как оба правила масштабирования будут верными.

Всегда выбирайте безопасное число экземпляров по умолчанию

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

Настройка уведомлений об автомасштабировании

Автомасштабирование записей в журнал действий при возникновении следующих условий:

  • при автомасштабировании вызывается операция масштабирования;
  • служба автомасштабирования успешно завершает действие масштабирования;
  • службе автомасштабирования не удается выполнить действие масштабирования.
  • Службе автомасштабирования не доступны метрики для принятия решения по масштабированию.
  • Метрики для принятия решения по масштабированию стали доступны (восстановились).

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