Автоматическое масштабирование
Масштабирование — это возможность адаптировать доступные ресурсы для соответствия клиентским требованиям. Услуги уровней Scale и Enterprise (со стандартным профилем 1:4) могут быть масштабированы горизонтально с помощью вызова API программным образом или изменения настроек в интерфейсе для корректировки системных ресурсов. В качестве альтернативы, эти услуги могут быть автоматически масштабированы вертикально для удовлетворения требований приложений.
Автоматическое вертикальное масштабирование 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) будут поддерживать вертикальное автоматическое масштабирование.
- Пользовательские профили не будут поддерживать вертикальное автоматическое масштабирование или ручное вертикальное масштабирование при запуске. Однако эти услуги могут быть вертикально масштабированы, связавшись с поддержкой.
Мы вводим новый механизм вертикального масштабирования для вычислительных реплик, который мы называем "Make Before Break" (MBB). Этот подход добавляет одну или несколько реплик нового размера перед удалением старых реплик, предотвращая любые потери мощности во время операций масштабирования. Устранение разрыва между удалением существующих реплик и добавлением новых создает более плавный и менее разрушительный процесс масштабирования. Это особенно полезно в сценариях увеличения масштаба, когда высокая загрузка ресурсов вызывает необходимость в дополнительной мощности, поскольку преждевременное удаление реплик только усугубит ограничения ресурсов.
Пожалуйста, обратите внимание, что в рамках этого изменения данные исторических системных таблиц будут сохраняться на срок до 30 дней в рамках событий масштабирования. Кроме того, любые данные системных таблиц старше 19 декабря 2024 года для услуг на AWS или GCP и старше 14 января 2025 года для услуг на Azure не будут сохранены в рамках перехода на новые организационные уровни.
Вертикальное автоматическое масштабирование
Автоматическое вертикальное масштабирование 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 ГиБ
памяти.
Настройка вертикального автоматического масштабирования
Масштабирование услуг ClickHouse Cloud Scale или Enterprise может корректироваться членами организации с ролью Admin. Чтобы настроить вертикальное автоматическое масштабирование, перейдите на вкладку Настройки вашей услуги и отрегулируйте минимальное и максимальное значение памяти, а также настройки CPU, как показано ниже.
Услуги с одной репликой не могут быть масштабированы для всех уровней.

Установите Максимальное значение памяти для ваших реплик на более высоком уровне, чем Минимальное значение памяти. Тогда услуга будет масштабироваться по мере необходимости в этих пределах. Эти настройки также доступны во время первоначального создания услуги. Каждой реплике в вашей услуге будет выделено одинаковое количество ресурсов памяти и CPU.
Вы также можете выбрать установку этих значений одинаковыми, по сути "зафиксировав" услугу на конкретной конфигурации. Это сразу заставит масштабироваться до желаемого размера, который вы выбрали.
Важно отметить, что это отключит любое автоматическое масштабирование на кластере, и ваша услуга не будет защищена от увеличения использования CPU или памяти сверх этих настроек.
Для услуг уровня Enterprise стандартные профили 1:4 будут поддерживать вертикальное автоматическое масштабирование. Пользовательские профили не будут поддерживать вертикальное автоматическое масштабирование или ручное вертикальное масштабирование при запуске. Однако эти услуги могут быть вертикально масштабированы, связавшись с поддержкой.
Ручное горизонтальное масштабирование
Ручное горизонтальное масштабирование 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 ГиБ
, что соответствует 6
репликам, каждая с выделением 16 ГиБ
памяти.

Автоматическая бездействие
На странице Настройки вы также можете выбрать, разрешать ли автоматическое бездействие вашей услуги, когда она неактивна, как показано на изображении выше (т.е. когда услуга не выполняет никаких запросов, отправленных пользователями). Автоматическое бездействие уменьшает стоимость вашей услуги, так как вам не начисляется плата за вычислительные ресурсы, когда услуга приостановлена.
В некоторых особых случаях, например, когда у услуги много частей, услуга не будет автоматически приостановлена.
Услуга может войти в бесконечное состояние, где она приостанавливает обновление обновляемых материализованных представлений, потребление из S3Queue и планирование новых слияний. Существующие операции слияния завершатся до перехода услуги в состояние бездействия. Чтобы обеспечить непрерывную работу обновляемых материализованных представлений и потребления из S3Queue, отключите функциональность состояния бездействия.
Используйте автоматическое бездействие только если ваш случай использования может выдержать задержку перед ответом на запросы, потому что когда услуга приостановлена, подключения к услуге будут истекать. Автоматическое бездействие идеально подходит для услуг, которые используются редко и где задержка может быть принята. Это не рекомендуется для услуг, которые обеспечивают функции, часто используемые клиентами.
Обработка всплесков нагрузки
Если у вас ожидается резкий рост нагрузки, вы можете использовать ClickHouse Cloud API для предварительного масштабирования вашей услуги, чтобы справиться с всплеском, и уменьшить масштаб, как только спрос снизится. Чтобы понять текущее количество ядер CPU и использование памяти для каждой из ваших реплик, вы можете выполнить следующий запрос: