Автоматическое масштабирование
Масштабирование — это способность настраивать доступные ресурсы в соответствии с требованиями клиентов. Услуги тарифных планов Scale и Enterprise (с профилем стандарт 1:4) могут быть горизонтально масштабированы с помощью программного вызова API или изменения настроек в интерфейсе для регулирования системных ресурсов. Эти услуги также могут быть автоматически масштабированы вертикально для удовлетворения требований приложений.
Автоматическое вертикальное масштабирование is available in the Scale and Enterprise plans. To upgrade, visit the Plans page in the cloud console.
Тарифные планы Scale и Enterprise поддерживают как одно-, так и многорепликовые услуги, в то время как тарифный план Basic поддерживает только однорепликовые услуги. Одно репликовые услуги предназначены для фиксированного размера и не допускают вертикального или горизонтального масштабирования. Пользователи могут перейти на тарифный план Scale или Enterprise, чтобы масштабировать свои услуги.
Как работает масштабирование в ClickHouse Cloud
В настоящее время ClickHouse Cloud поддерживает вертикальное автоматическое масштабирование и ручное горизонтальное масштабирование для услуг тарифного плана Scale.
Для услуг тарифного плана Enterprise масштабирование работает следующим образом:
- Горизонтальное масштабирование: Ручное горизонтальное масштабирование будет доступно для всех стандартных и пользовательских профилей на тарифе Enterprise.
- Вертикальное масштабирование:
- Стандартные профили (1:4) будут поддерживать вертикальное автоматическое масштабирование.
- Пользовательские профили (
highMemory
иhighCPU
) не поддерживают вертикальное автоматическое масштабирование или ручное вертикальное масштабирование. Однако эти услуги могут быть вертикально масштабированы, связавшись с поддержкой.
Масштабирование в ClickHouse Cloud осуществляется по подходу, который мы называем "Сделать перед сломать" (MBB). Это добавляет одну или несколько реплик нового размера перед удалением старых реплик, предотвращая любую потерю емкости во время операций масштабирования. Устраняя разрыв между удалением существующих реплик и добавлением новых, MBB создает более плавный и менее разрушительный процесс масштабирования. Это особенно полезно в сценариях увеличения масштаба, когда высокая загрузка ресурсов вызывает необходимость в дополнительной емкости, поскольку преждевременное удаление реплик только усугубило бы ограничения ресурсов. В рамках этого подхода мы ждем до часа, чтобы завершить любые существующие запросы на старых репликах перед тем, как мы их удалим. Это сбалансирует необходимость завершения существующих запросов, обеспечивая при этом, что старые реплики не остаются слишком долго.
Пожалуйста, обратите внимание, что в рамках этого изменения:
- Исторические данные системных таблиц будут сохраняться в течение максимум 30 дней в рамках событий масштабирования. Кроме того, любые данные системных таблиц старше 19 декабря 2024 года для услуг на AWS или GCP и старше 14 января 2025 года для услуг на Azure не будут сохраняться в процессе миграции на новые уровни организации.
- Для услуг, использующих TDE (Прозрачное шифрование данных), данные системных таблиц в настоящее время не сохраняются после операций MBB. Мы работаем над устранением этого ограничения.
Вертикальное автоматическое масштабирование
Автоматическое вертикальное масштабирование 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 может быть настроено членами организации с ролью Администратор. Чтобы настроить вертикальное автоматическое масштабирование, перейдите на вкладку Настройки для вашей услуги и отрегулируйте минимальные и максимальные значения памяти, а также настройки 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 для масштабирования вашей услуги, обновив настройки масштабирования для услуги или изменив количество реплик из облачной консоли.
Планы и Enterprise также поддерживают одно репликовые услуги. Услуги, однажды масштабированные, могут быть повторно масштабированы до минимума в одну реплику. Обратите внимание, что одно репликовые услуги имеют ограниченную доступность и не рекомендуются для использования в производственной среде.
Услуги могут масштабироваться горизонтально до максимум 20 реплик. Если вам нужны дополнительные реплики, пожалуйста, свяжитесь с нашей службой поддержки.
Горизонтальное масштабирование через API
Для горизонтального масштабирования кластера выполните запрос PATCH
через API для изменения количества реплик. Скриншоты ниже показывают вызов API для масштабирования кластера с 3
репликами до 6
реплик и соответствующий ответ.

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

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

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

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