Перейти к основному содержимому
Перейти к основному содержимому

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

Масштабирование — это возможность адаптировать доступные ресурсы для удовлетворения потребностей клиентов. Услуги уровней Scale и Enterprise (с стандартным профилем 1:4) могут масштабироваться горизонтально с помощью программного вызова API или изменения настроек в пользовательском интерфейсе для регулировки системных ресурсов. В качестве альтернативы, эти услуги могут быть автоматически масштабированы вертикально для удовлетворения требований приложений.

Scale plan feature

Автоматическое вертикальное масштабирование is available in the Scale and Enterprise plans. To upgrade, visit the Plans page in the cloud console.

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

В настоящее время ClickHouse Cloud поддерживает вертикальное автоматическое масштабирование и ручное горизонтальное масштабирование для услуг уровня Scale.

Для услуг уровня Enterprise масштабирование работает следующим образом:

  • Горизонтальное масштабирование: Ручное горизонтальное масштабирование будет доступно для всех стандартных и пользовательских профилей на уровне Enterprise.
  • Вертикальное масштабирование:
    • Стандартные профили (1:4) будут поддерживать вертикальное автоматическое масштабирование.
    • Пользовательские профили не будут поддерживать вертикальное автоматическое масштабирование или ручное вертикальное масштабирование при запуске. Тем не менее, эти услуги могут быть масштабированы вертикально, обратившись в службу поддержки.
примечание

Мы вводим новый механизм вертикального масштабирования для вычислительных реплик, который мы называем "Сделать перед Устранением" (MBB). Этот подход добавляет одну или несколько реплик нового размера перед удалением старых реплик, предотвращая потерю мощности в процессе операций масштабирования. Устранение разрыва между удалением существующих реплик и добавлением новых делает процесс масштабирования более плавным и менее разрушительным. Это особенно полезно в сценариях масштабирования вверх, где высокая загрузка ресурсов требует дополнительной мощности, поскольку преждевременное удаление реплик только усугубит ограниченность ресурсов.

Обратите внимание, что в рамках этого изменения исторические данные системных таблиц будут храниться в течение максимум 30 дней в рамках событий масштабирования. Кроме того, любые данные системных таблиц старше 19 декабря 2024 года для услуг на AWS или GCP и старше 14 января 2025 года для услуг на Azure не будут сохранены в процессе миграции на новые уровни организации.

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

Scale plan feature

Автоматическое вертикальное масштабирование is available in the Scale and Enterprise plans. To upgrade, visit the Plans page in the cloud console.

Услуги Scale и Enterprise поддерживают автоматическое масштабирование на основе использования CPU и памяти. Мы постоянно отслеживаем историческое использование услуги в течение окна просмотра (за последние 30 часов) для принятия решений о масштабировании. Если использование превышает или падает ниже определенных порогов, мы соответственно масштабируем услугу, чтобы соответствовать спросу.

Автоматическое масштабирование на основе CPU начинает действовать, когда использование CPU пересекает верхний порог в пределах от 50% до 75% (фактический порог зависит от размера кластера). В этот момент выделение CPU для кластера удваивается. Если использование CPU падает ниже половины верхнего порога (например, до 25% при верхнем пороге 50%), выделение CPU уменьшается вдвое.

Автоматическое масштабирование на основе памяти масштабирует кластер до 125% от максимального использования памяти или до 150%, если возникают ошибки OOM (недостаточно памяти).

Выбирается большее из рекомендаций по CPU или памяти, и CPU и память, выделяемые для услуги, масштабируются синхронными увеличениями по 1 CPU и 4 GiB памяти.

Настройка вертикального автоматического масштабирования

Масштабирование услуг ClickHouse Cloud Scale или Enterprise может быть изменено членами организации с ролью Admin. Чтобы настроить вертикальное автоматическое масштабирование, перейдите на вкладку Настройки для вашей услуги и измените минимальные и максимальные значения памяти, а также настройки CPU, как показано ниже.

примечание

Услуги с одной репликой не могут масштабироваться для всех уровней.

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

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

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

примечание

Для услуг уровня Enterprise стандартные профили 1:4 будут поддерживать вертикальное автоматическое масштабирование. Пользовательские профили не будут поддерживать вертикальное автоматическое масштабирование или ручное вертикальное масштабирование при запуске. Тем не менее, эти услуги могут быть масштабированы вертикально, обратившись в службу поддержки.

Ручное горизонтальное масштабирование

Scale plan feature

Ручное горизонтальное масштабирование is available in the Scale and Enterprise plans. To upgrade, visit the Plans page in the cloud console.

Вы можете использовать публичные API ClickHouse Cloud для масштабирования вашей услуги, обновив настройки масштабирования для услуги или изменив количество реплик из облачной консоли.

Услуги уровней Scale и Enterprise поддерживают услуги с одной репликой. Однако услуга в этих уровнях, которая начинается с нескольких реплик или расширяется до нескольких реплик, может быть уменьшена до минимума 2 реплик.

примечание

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

Горизонтальное масштабирование через API

Чтобы горизонтально масштабировать кластер, выполните запрос PATCH через API, чтобы изменить количество реплик. Скриншоты ниже показывают вызов API для увеличения кластера из 3 реплик до 6 реплик и соответствующий ответ.

Запрос PATCH для обновления numReplicas

Ответ на запрос PATCH

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

Горизонтальное масштабирование через UI

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

Настройки масштабирования услуги из консоли ClickHouse Cloud

Как только услуга масштабируется, панель мониторинга метрик в облачной консоли должна показать правильное распределение для услуги. Скриншот ниже показывает, что кластер масштабировался до общей памяти 96 GiB, что соответствует 6 репликам, каждая с выделением 16 GiB памяти.

Автоматическое отключение

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

примечание

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

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

Когда не использовать автоматическое отключение

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

Обработка пиковых нагрузок

Если у вас ожидается предстоящий пик нагрузки, вы можете использовать API ClickHouse Cloud, чтобы заранее увеличить масштаб вашей услуги для обработки пика и уменьшить его, как только спрос снизится. Чтобы понять текущее количество CPU и памяти, используемой для каждой из ваших реплик, вы можете выполнить следующий запрос: