Добавление вычислительных ресурсов
Иногда при работе с кликами возникают проблемы с производительностью из-за полного использования имеющихся ресурсов и, как следствие, деградации запросов. В таких случаях нужно увеличить объём вычислительных ресурсов.
Вычислительные ресурсы — это инстансы ClickHouse: серверы с выделенными процессорами (CPU) и оперативной памятью (RAM). Чаще всего пользователям достаточно регулировать только число инстансов.
Важно
Чтобы настроить клику, у вас должно быть право manage на эту клику. Проверьте, есть ли у вас этот тип прав, на вкладке ACL на Панели вкладок в разделе Object permissions.
Добавить вычислительные ресурсы клике можно двумя способами:
-
Откройте интерфейс клики, как описано в разделе Как перейти в интерфейс клики.
-
Нажмите кнопку
в блоке Кнопки действий или Edit speclet на вкладке Speclet на Панели вкладок. -
Выберите слева вкладку Resources.
-
В поле Instances введите количество инстансов для клики от 1 до 100.
Примечание
Значение поля по умолчанию —
1. Универсальной рекомендации по выбору количества инстансов нет: параметр зависит от ваших задач и подбирается опытным путём. Советуем начать со значения по умолчанию. -
Чтобы применить изменения, нажмите кнопку Confirm.
-
Установите CHYT CLI в составе пакета
ytsaurus-client, если вы этого ещё не сделали. -
Сохраните адрес прокси в переменную окружения. Это нужно, чтобы не указывать кластер YTsaurus в каждой команде через аргумент
--proxy.export YT_PROXY=<cluster_name> -
Задайте переменную окружения с адресом контроллера:
export CHYT_CTL_ADDRESS=<address>, где
<address>— адрес контроллера. Например, для демо-кластера адрес имеет вид:https://strawberry-XXXXXXXX.demo.ytsaurus.tech.
Адрес контроллера можно получить из поляcontrollerиз результата выполнения командыyt get //sys/strawberry/chyt/<alias>/@strawberry_info_state -
Сохраните в переменную окружения имя кластера:
export CLUSTER_NAME=<cluster_name>, где
<cluster_name>— имя кластера. Например, имя демо-кластера:ytdemo. -
Установите нужное количество инстансов с помощью опции
instance_count:yt clickhouse ctl set-option instance_count COUNT --alias chyt_example_clique, где
COUNT— количество инстансов.
Продвинутые настройки вычислительных ресурсов
Важно
Эти опции предназначены для опытных пользователей. Если вы не уверены, нужны ли они вам, оставьте значения по умолчанию.
К продвинутым настройкам относятся параметры CPU и RAM для каждого инстанса. При выборе значений CPU и RAM учитывайте физические ресурсы ваших серверов и потребности базовых операций с кликами.
Рекомендуемые значения:
- от 1 до 100 ядер CPU на инстанс;
- от 20 до 300 ГБ RAM на инстанс.
Важно
Выбирайте значения опций так, чтобы они не превышали физические ресурсы серверов. Например, на сервере с 10 ядрами CPU и 40 ГБ памяти нельзя выделить инстанс с 16 ядрами и 65 ГБ.
Установить значения опций Instance CPU и Instance Total Memory можно через:
- Откройте интерфейс клики, как описано в разделе Как перейти в интерфейс клики.
- Нажмите кнопку
в блоке Кнопки действий или Edit speclet на вкладке Speclet на Панели вкладок. - Выберите слева вкладку Resources.
- В поле Instance CPU укажите количество ядер CPU на инстанс.
- В поле Instance Total Memory укажите объём оперативной памяти RAM на инстанс.
- Чтобы сохранить настройки, нажмите кнопку Confirm.
-
Установите CHYT CLI в составе пакета
ytsaurus-client, если вы этого ещё не сделали. -
Сохраните адрес прокси в переменную окружения. Это нужно, чтобы не указывать кластер YTsaurus в каждой команде через аргумент
--proxy.export YT_PROXY=<cluster_name> -
Задайте переменную окружения с адресом контроллера:
export CHYT_CTL_ADDRESS=<address>, где
<address>— адрес контроллера. Например, для демо-кластера адрес имеет вид:https://strawberry-XXXXXXXX.demo.ytsaurus.tech.
Адрес контроллера можно получить из поляcontrollerиз результата выполнения командыyt get //sys/strawberry/chyt/<alias>/@strawberry_info_state -
Сохраните в переменную окружения имя кластера:
export CLUSTER_NAME=<cluster_name>, где
<cluster_name>— имя кластера. Например, имя демо-кластера:ytdemo. -
Установите нужное количество CPU, которое будет выделено под каждый инстанс клики с помощью опции
instance_cpu:yt clickhouse ctl set-option instance_cpu CPU_AMOUNT --alias chyt_example_clique, где
CPU_AMOUNT— количество ядер CPU. -
Установите нужный объём RAM, которое будет выделено под каждый инстанс клики с помощью опции
instance_total_memory:yt clickhouse ctl set-option instance_total_memory RAM_AMOUNT --alias chyt_example_clique, где
RAM_AMOUNT— количество оперативной памяти RAM в ГБ.
Учитывайте, что при включённой опции Restart on speclet change, изменение любых настроек приведёт к автоматическому перезапуску клики, при этом перезапуск займёт некоторое время. Опцию Restart on speclet change можно включить на вкладке General в диалоговом окне интерфейса спеклета.