Горизонтальное автомасштабирование находится на этапе закрытой предварительной версии и доступно на тарифах Scale и Enterprise. Чтобы запросить доступ, обратитесь к команде ClickHouse, работающей с вашим аккаунтом, или в службу поддержки.
Как это работает
Автомасштабировщик непрерывно отслеживает ваш сервис и каждые 10 минут формирует рекомендации по горизонтальному масштабированию на основе трёх показателей:- Параллельные запросы: максимальное число запросов, одновременно выполняющихся на репликах
- Использование CPU: максимальная загрузка CPU на репликах
- Использование памяти: максимальное использование памяти на репликах
- Увеличение масштаба: если загрузка превышает верхний порог в 80%, добавляются реплики — вплоть до настроенного максимума
- Уменьшение масштаба: если загрузка опускается ниже нижнего порога в 45%, реплики удаляются — вплоть до настроенного минимума
Включение горизонтального автомасштабирования
Горизонтальное автомасштабирование настраивается на странице Настройки сервиса или через API ClickHouse Cloud для масштабирования реплик. Чтобы включить его:- Зафиксируйте вертикальный размер реплик, задав одинаковые минимальный и максимальный объёмы памяти. Для горизонтального автомасштабирования пока требуется фиксированный размер реплики; вертикальное и горизонтальное автомасштабирование не могут быть одновременно активны для одного сервиса.
- Установите максимальное число реплик больше минимального. Автомасштабирование работает в этих пределах. Если задать одинаковые значения, сервис будет зафиксирован на определённом количестве реплик, а горизонтальное автомасштабирование будет отключено.
Сведения об ограничениях на количество реплик, применимых к вашему сервису, см. в разделе Ограничения использования. Если требуется больше реплик, обратитесь в службу поддержки.
Настройте клиентов
Новые реплики будут полезны, только если ваши клиенты подключаются к ним. Долгоживущие подключения остаются привязанными к репликам, существовавшим на момент их открытия, поэтому клиентам необходимо регулярно обновлять подключения, чтобы обнаруживать новые реплики. Настройте клиентов одним из следующих способов:- HTTP-протокол (рекомендуется): По умолчанию подключения кратковременны, поэтому трафик автоматически распределяется на новые реплики.
- Собственный протокол: Установите максимальное время жизни подключения примерно на 30 секунд, чтобы подключения регулярно устанавливались заново.
Выберите подходящий размер реплики
Горизонтальное автомасштабирование наиболее эффективно, когда каждая реплика достаточно велика, чтобы без проблем выполнять типичные запросы. Добавление реплик увеличивает количество запросов, которые сервис может выполнять параллельно, но не объём памяти, доступный одному запросу. Рекомендуемый подход:- Подберите вертикальный размер, при котором несколько типичных запросов выполняются без ошибок нехватки памяти.
- Зафиксируйте сервис на этом размере.
- По мере роста объёма запросов позвольте горизонтальному автомасштабированию добавлять реплики.
Распределение нагрузки
Горизонтальное автомасштабирование предполагает, что нагрузка равномерно распределена между репликами. Если одна реплика загружена на 90 %, а остальные — на 10 %, добавление реплик не поможет: сначала необходимо устранить дисбаланс нагрузки. Автомасштабировщик выявляет дисбаланс нагрузки и не рекомендует масштабирование при его сохранении. Распространённые причины дисбаланса — долгоживущие подключения, сосредоточенные на нескольких репликах (см. Настройка клиентов), и рабочие нагрузки, закреплённые за сеансами.Отслеживание активности масштабирования
События масштабирования отображаются на панели мониторинга метрик сервиса в консоли ClickHouse Cloud, где указаны текущее количество реплик и общий объём выделенных ресурсов.Известные ограничения
- Горизонтальное автомасштабирование доступно в закрытой предварительной версии; его должна включить для вашей организации команда поддержки ClickHouse.
- Вертикальный размер реплики необходимо зафиксировать, установив минимальный объём памяти равным максимальному.
- Действуют ограничения на количество реплик; см. Ограничения использования, чтобы узнать, какие ограничения применяются к вашему сервису, и обратитесь в службу поддержки, если вам требуется больше реплик.
- Рекомендации формируются каждые 10 минут; горизонтальное автомасштабирование не рассчитано на кратковременные всплески продолжительностью менее минуты. Для предсказуемых пиков рассмотрите запланированное масштабирование.