Конфигурационные параметры сервера
builtin_dictionaries_reload_interval
Интервал (в секундах) перезагрузки встроенных словарей.
ClickHouse перезагружает встроенные словари с заданным интервалом. Это позволяет править словари «на лету» без перезапуска сервера.
Значение по умолчанию - 3600.
Пример
<builtin_dictionaries_reload_interval>3600</builtin_dictionaries_reload_interval>
compression
Настройки компрессии данных.
Лучше не использовать, если вы только начали работать с ClickHouse.
Общий вид конфигурации:
<compression>
<case>
<min_part_size>...</min_part_size>
<min_part_size_ratio>...</min_part_size_ratio>
<method>...</method>
<level>...</level>
</case>
...
</compression>
Поля блока <case>
:
min_part_size
- Минимальный размер части таблицы.min_part_size_ratio
- Отношение размера минимальной части таблицы к полному размеру таблицы.method
- Метод сжатия. Возможные значения:lz4
,lz4hc
,zstd
,deflate_qpl
.level
– Уровень сжатия. См. Кодеки.
Можно сконфигурировать несколько разделов <case>
.
ClickHouse проверяет условия для min_part_size
и min_part_size_ratio
и выполнит те блоки case
, для которых условия совпали.
- Если кусок данных совпадает с условиями, ClickHouse использует указанные метод сжатия.
- Если кусок данных совпадает с несколькими блоками
case
, ClickHouse использует первый совпавший блок условий.
Если ни один <case>
не подходит, то ClickHouse применит алгоритм сжатия lz4
.
Пример
<compression incl="clickhouse_compression">
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>zstd</method>
<level>1</level>
</case>
</compression>
encryption
Настраивает команду для получения ключа, используемого кодеками шифрования. Ключ (или несколько ключей) должен быть записан в переменные окружения или установлен в конфиг урационном файле.
Ключи могут быть представлены в шестнадцатеричной или строковой форме. Их длина должна быть равна 16 байтам.
Пример
Загрузка из файла конфигурации:
<encryption_codecs>
<aes_128_gcm_siv>
<key>12345567812345678</key>
</aes_128_gcm_siv>
</encryption_codecs>
Хранение ключей в конфигурационном файле не рекомендовано. Это не безопасно. Вы можете переместить ключи в отдельный файл на секретном диске и сделать symlink к этому конфигурационному файлу в папке config.d/
.
Загрузка из файла конфигурации, когда ключ представлен в шестнадцатеричной форме:
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex>00112233445566778899aabbccddeeff</key_hex>
</aes_128_gcm_siv>
</encryption_codecs>
Загрузка ключа из переменной окружения:
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex from_env="ENVVAR"></key_hex>
</aes_128_gcm_siv>
</encryption_codecs>
Параметр current_key_id
устанавливает текущий ключ для шифрования, и все указанные ключи можно использовать для расшифровки.
Все эти методы могут быть применены для нескольких ключей:
<encryption_codecs>
<aes_128_gcm_siv>
<key_hex id="0">00112233445566778899aabbccddeeff</key_hex>
<key_hex id="1" from_env="ENVVAR"></key_hex>
<current_key_id>1</current_key_id>
</aes_128_gcm_siv>
</encryption_codecs>
Параметр current_key_id
указывает текущий ключ для шифрования.
Также пользователь может добавить одноразовое случайное число длинной 12 байт (по умолчанию шифрование и дешифровка будут использовать одноразовое число длинной 12 байт, заполненное нулями):
<encryption_codecs>
<aes_128_gcm_siv>
<nonce>012345678910</nonce>
</aes_128_gcm_siv>
</encryption_codecs>
Одноразовое число также может быть представлено в шестнадцатеричной форме:
<encryption_codecs>
<aes_128_gcm_siv>
<nonce_hex>abcdefabcdef</nonce_hex>
</aes_128_gcm_siv>
</encryption_codecs>
Всё вышеперечисленное также применимо для алгоритма aes_256_gcm_siv
(но ключ должен быть длиной 32 байта).
custom_settings_prefixes
Список префиксов для пользовательских настроек. Префиксы должны перечисляться через запятую.
Пример
<custom_settings_prefixes>custom_</custom_settings_prefixes>
См. также
core_dump
Задает мягкое ограничение для размера файла дампа памяти.
Возможные значения:
- положительное целое число.
Значение по умолчанию: 1073741824
(1 ГБ).
Жесткое ограничение настраивается с помощью системных инструментов.
Пример
<core_dump>
<size_limit>1073741824</size_limit>
</core_dump>
database_atomic_delay_before_drop_table_sec
Устанавливает задержку перед удалением табличных данных, в секундах. Если запрос имеет идентификатор SYNC
, эта настройка игнорируется.
Значение по умолчанию: 480
(8 минут).
default_database
База данных по умолчанию.
Перечень баз данных можно получить запросом SHOW DATABASES.
Пример
<default_database>default</default_database>
default_profile
Профиль настроек по умолчанию.
Профили настроек находятся в файле, указанном в параметре user_config
.
Пример
<default_profile>default</default_profile>
default_replica_path
Путь к таблице в ZooKeeper.
Пример
<default_replica_path>/clickhouse/tables/{uuid}/{shard}</default_replica_path>
default_replica_name
Имя реплики в ZooKeeper.
Пример
<default_replica_name>{replica}</default_replica_name>
dictionaries_config
Путь к конфигурации внешних словарей.
Путь:
- Указывается абсолютным или относительно конфигурационного файла сервера.
- Может содержать wildcard-ы * и ?.
Смотрите также «Внешние словари».
Пример
<dictionaries_config>*_dictionary.xml</dictionaries_config>
user_defined_executable_functions_config
Путь к файлу конфигурации для исполняемых пользовательских функций.
Путь:
- Указывается абсолютным или относительно конфигурационного файла сервера.
- Может содержать wildcard-ы * и ?.
Смотрите также “Исполняемые пользовательские функции.”.
Пример
<user_defined_executable_functions_config>*_function.xml</user_defined_executable_functions_config>
dictionaries_lazy_load
Отложенная загрузка словарей.
Если true
, то каждый словарь загружается при первом использовании. Если словарь не удалось загрузить, то вызов функции, использующей словарь, сгенерирует исключение.
Если false
, все словари будут загружаться на старте сервера.
Сервер буде т ждать на старте окончания загрузки всех словарей перед началом обработки соединений
(исключение: если wait_dictionaries_load_at_startup
установлена в false
- см. ниже).
По умолчанию - true
.
Пример
<dictionaries_lazy_load>true</dictionaries_lazy_load>
format_schema_path
Путь к каталогу со схемами для входных данных. Например со схемами для формата CapnProto.
Пример
<!-- Directory containing schema files for various input formats. -->
<format_schema_path>format_schemas/</format_schema_path>
graphite
Отправка данных в Graphite.
Настройки:
- host – Сервер Graphite.
- port – Порт сервера Graphite.
- interval – Период отправки в секундах.
- timeout – Таймаут отправки данных в секундах.
- root_path – Префикс для ключей.
- metrics – Отправка данных из таблицы system.metrics.
- events – Отправка дельты данных, накопленной за промежуток времени из таблицы system.events.
- events_cumulative – Отправка суммарных данных из таблицы system.events.
- asynchronous_metrics – Отправка данных из таблицы system.asynchronous_metrics.
Можно определить несколько секций <graphite>
, например, для передачи различных данных с различной частотой.
Пример
<graphite>
<host>localhost</host>
<port>42000</port>
<timeout>0.1</timeout>
<interval>60</interval>
<root_path>one_min</root_path>
<metrics>true</metrics>
<events>true</events>
<events_cumulative>false</events_cumulative>
<asynchronous_metrics>true</asynchronous_metrics>
</graphite>
graphite_rollup
Настройка прореживания данных для Graphite.
Подробнее читайте в разделе GraphiteMergeTree.
Пример
<graphite_rollup_example>
<default>
<function>max</function>
<retention>
<age>0</age>
<precision>60</precision>
</retention>
<retention>
<age>3600</age>
<precision>300</precision>
</retention>
<retention>
<age>86400</age>
<precision>3600</precision>
</retention>
</default>
</graphite_rollup_example>
http_port/https_port
Порт для обращений к серверу по протоколу HTTP(s).
Если указан https_port
, то требуется конфигурирование openSSL.
Если указан http_port
, то настройка openSSL игнорируется, даже если она задана.
Пример
<https_port>9999</https_port>
http_server_default_response
Страница, показываемая по умолчанию, при обращении к HTTP(s) серверу ClickHouse. Значение по умолчанию «Ok.» (с переводом строки на конце).
Пример
Показывает https://tabix.io/
при обращении к http://localhost:http_port
.
<http_server_default_response>
<![CDATA[<html ng-app="SMI2"><head><base href="http://ui.tabix.io/"></head><body><div ui-view="" class="content-ui"></div><script src="http://loader.tabix.io/master.js"></script></body></html>]]>
</http_server_default_response>
hsts_max_age
Срок действия HSTS в секундах. Значение по умолчанию 0
(HSTS выключен). Для включения HSTS задайте положительное число. Срок действия HSTS будет равен введенному числу.
Пример
<hsts_max_age>600000</hsts_max_age>
include_from
Путь к файлу с подстановками.
Подробности смотрите в разделе «Конфигурационные файлы».
Пример
<include_from>/etc/metrica.xml</include_from>
interserver_listen_host
Ограничение по хостам, для обмена между серверами ClickHouse. Если используется Keeper, то такое же ограничение будет применяться к обмену данными между различными экземплярами Keeper. Значение по умолчанию совпадает со значением параметра listen_host
Примеры:
<interserver_listen_host>::ffff:a00:1</interserver_listen_host>
<interserver_listen_host>10.0.0.1</interserver_listen_host>
interserver_http_port
Порт для обмена между серверами ClickHouse.
Пример
<interserver_http_port>9009</interserver_http_port>
interserver_http_host
Имя хоста, которое могут использовать другие серверы для обращения к этому хосту.
Если не указано, то определяется аналогично команде hostname -f
.
Удобно использовать, чтобы отвязаться от конкретного сетевого интерфейса.
Пример
<interserver_http_host>example.yandex.ru</interserver_http_host>
interserver_https_port
Порт для обмена данными между репликами ClickHouse по протоколу HTTPS
.
Пример
<interserver_https_port>9010</interserver_https_port>
interserver_https_host
Имя хоста, которое могут использовать другие реплики для обращения к нему по протоколу HTTPS
.
Пример
<interserver_https_host>example.yandex.ru</interserver_https_host>
interserver_http_credentials
Имя пользователя и пароль, использующиеся для подключения к другим серверам при репликации движками Replicated*. Сервер использует эти же учетные данные при аутентификации других реплик. Поэтому на стройки interserver_http_credentials
должны быть заданы одинаковыми для всех реплик кластера.
По умолчанию, если секция interserver_http_credentials
не задана в конфигурации, аутентификация при репликации не используется.
Настройки interserver_http_credentials
не относятся к конфигурации учетных данных клиента ClickHouse.
Учетные данные в interserver_http_credentials
являются общими для репликации по HTTP
и HTTPS
.
Раздел содержит следующие параметры:
user
— имя пользователя.password
— пароль.allow_empty
— еслиtrue
, то другие реплики могут подключаться без аутентификации, даже если учетные данные заданы. Еслиfalse
, то подключение без аутентификации не допускается. Значение по умолчанию:false
.old
— секция содержит старые значенияuser
иpassword
, которые используются в процессе изменения учетных данных. Можно указывать несколько секцийold
.
Изменение учетных данных
ClickHouse поддерживает динамическое изменение учетных данных. При этом не требуется одновременно останавливать все реплики, чтобы обновить конфигурацию. Изменение учетных данных выполняется за несколько шагов.
Чтобы включить аутентификацию, установите interserver_http_credentials.allow_empty
в значение true
и задайте учетные данные. С такой конфигурацией разрешены подключения как с аутентификацией, так и без нее.
<interserver_http_credentials>
<user>admin</user>
<password>111</password>
<allow_empty>true</allow_empty>
</interserver_http_credentials>
После конфигурации всех реплик установите allow_empty
в значение false
или удалите эту настройку. Это сделает аутентификацию с новыми учетными данными обязательной.
Чтобы изменить учетные данные, перенесите имя пользователя и пароль в секцию interserver_http_credentials.old
и укажите новые значения для user
и password
. Сервер будет использовать новые учетные данные при подключении к другим репликам и при этом будет разрешать подключения как с новыми, так и со старыми учетными данными.
<interserver_http_credentials>
<user>admin</user>
<password>222</password>
<old>
<user>admin</user>
<password>111</password>
</old>
<old>
<user>temp</user>
<password>000</password>
</old>
</interserver_http_credentials>
Когда новые учетные данные обновятся на всех репликах, старые учетные данные можно удалить из конфигурации.
keep_alive_timeout
Время в секундах, в течение которого ClickHouse ожидает входящих запросов прежде чем закрыть соединение. Значение по умолчанию: 10 секунд.
Пример
<keep_alive_timeout>10</keep_alive_timeout>
listen_host
Ограничение по хостам, с которых может прийти запрос. Если необходимо, чтобы сервер отвечал всем, то надо указать ::
.
Примеры:
<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>
listen_backlog
Бэклог (размер очереди соединений, ожидающих принятия) прослушивающего сокета.
Значение по умолчанию: 4096
(как в linux 5.4+).
Обычно это значение незачем менять по следующим причинам:
- значение по умолчанию достаточно велико,
- для принятия соединения клиента у сервера есть отдельный поток.
Так что даже если у вас TcpExtListenOverflows
(из nstat
) ненулевой и растет для сервера ClickHouse, это не повод увеличивать значение по умолчанию, поскольку:
- обычно если 4096 недостаточно, это говорит о внутренних проблемах ClickHouse с масштабированием, так что лучше сообщить о проблеме,
- и это не значит, что сервер сможет принять еще больше подключений в дальнейшем (а если и сможет, клиенты, вероятно, уже отсоединятся).
Примеры:
<listen_backlog>4096</listen_backlog>
logger
Настройки логирования.
Ключи:
level
- Уровень логирования. Допустимые значения:trace
,debug
,information
,warning
,error
.log
- Файл лога. Содержит все записи согласноlevel
.errorlog
- Файл лога ошибок.size
- Размер файла. Действует дляlog
иerrorlog
. Как только файл достиг размераsize
, ClickHouse архивирует и переименовывает его, а на его месте создает новый файл лога.count
- Количество заархивированных файлов лого в, которые сохраняет ClickHouse.stream_compress
– Сжиматьlog
иerrorlog
с помощью алгоритмаlz4
. Чтобы активировать, узтановите значение1
илиtrue
.
Имена файлов log
и errorlog
(только имя файла, а не директорий) поддерживают спецификаторы шаблонов даты и времени.
Спецификаторы форматирования
С помощью следующих спецификаторов, можно определить шаблон для формирования имени файла. Столбец “Пример” показывает возможные значения на момент времени 2023-07-06 18:32:07
.
Спецификатор | Описание | Пример |
---|---|---|
%% | Литерал % | % |
%n | Символ новой строки | |
%t | Символ горизонтальной табуляции | |
%Y | Год как десятичное число, например, 2017 | 2023 |
%y | Последние 2 цифры года в виде десятичного числа (диапазон [00,99]) | 23 |
%C | Первые 2 цифры года в виде десятичного числа (диапазон [00,99]) | 20 |
%G | Год по неделям согласно ISO 8601, то есть год, который содержит указанную неделю. Обычно используется вместе с %V. | 2023 |
%g | Последние 2 цифры года по неделям ISO 8601, т.е. года, содержащего указанную неделю (диапазон [00,99]). | 23 |
%b | Сокращённое название месяца, например Oct (зависит от локали) | Jul |
%h | Синоним %b | Jul |
%B | Полное название месяца, например, October (зависит от локали) | July |
%m | Месяц в виде десятичного числа (диапазон [01,12]) | 07 |
%U | Неделя года в виде десятичного числа (воскресенье - первый день недели) (диапазон [00,53]) | 27 |
%W | Неделя года в виде десятичного числа (понедельник - первый день недели) (диапазон [00,53]) | 27 |
%V | Неделя года ISO 8601 (диапазон [01,53]) | 27 |
%j | День года в виде десятичного числа (диапазон [001,366]) | 187 |
%d | День месяца в виде десятичного числа (диапазон [01,31]) Перед одиночной цифрой ставится ноль. | 06 |
%e | День месяца в виде десятичного числа (диапазон [1,31]). Перед одиночной цифрой ставится пробел. | 6 |
%a | Сокращённое название дня недели, например, Fri (зависит от локали) | Thu |
%A | Полный ден ь недели, например, Friday (зависит от локали) | Thursday |
%w | День недели в виде десятичного числа, где воскресенье равно 0 (диапазон [0-6]) | 4 |
%u | День недели в виде десятичного числа, где понедельник равен 1 (формат ISO 8601) (диапазон [1-7]) | 4 |
%H | Час в виде десятичного числа, 24-часовой формат (диапазон [00-23]) | 18 |
%I | Час в виде десятичного числа, 12-часовой формат (диапазон [01,12]) | 06 |
%M | Минуты в виде десятичного числа (диапазон [00,59]) | 32 |
%S | Секунды как десятичное число (диапазон [00,60]) | 07 |
%c | Стандартная строка даты и времени, например, Sun Oct 17 04:41:13 2010 (зависит от локали) | Thu Jul 6 18:32:07 2023 |
%x | Локализованное представление даты (зависит от локали) | 07/06/23 |
%X | Локализованное представление времени, например, 18:40:20 или 6:40:20 PM (зависит от локали) | 18:32:07 |
%D | Эквивалентно "%m/%d/%y" | 07/06/23 |
%F | Эквивалентно "%Y-%m-%d" (формат даты ISO 8601) | 2023-07-06 |
%r | Локализованное 12-часовое время (зависит от локали) | 06:32:07 PM |
%R | Эквивалентно "%H:%M" | 18:32 |
%T | Эквивале нтно "%H:%M:%S" (формат времени ISO 8601) | 18:32:07 |
%p | Локализованное обозначение a.m. или p.m. (зависит от локали) | PM |
%z | Смещение от UTC в формате ISO 8601 (например, -0430), или без символов, если информация о часовом поясе недоступна | +0800 |
%Z | Зависящее от локали название или аббревиатура часового пояса, если информация о часовом поясе доступна | Z AWST |
Пример
<logger>
<level>trace</level>
<log>/var/log/clickhouse-server/clickhouse-server-%F-%T.log</log>
<errorlog>/var/log/clickhouse-server/clickhouse-server-%F-%T.err.log</errorlog>
<size>1000M</size>
<count>10</count>
</logger>
Также, существует поддержка записи в syslog. Пример настроек:
<logger>
<use_syslog>1</use_syslog>
<syslog>
<address>syslog.remote:10514</address>
<hostname>myhost.local</hostname>
<facility>LOG_LOCAL6</facility>
<format>syslog</format>
</syslog>
</logger>
Ключи для syslog:
- use_syslog - обязательная настройка, если требуется запись в syslog
- address - хост[:порт] демона syslogd. Если не указан, используется локальный
- hostname - опционально, имя хоста, с которого отсылаются логи
- facility - категория syslog, записанная в верхнем регистре, с префиксом «LOG_»: (
LOG_USER
,LOG_DAEMON
,LOG_LOCAL3
и прочие). Значения по умолчанию: при указанномaddress
-LOG_USER
, иначе -LOG_DAEMON
- format - формат сообщений. Возможные значения -
bsd
иsyslog
send_crash_reports
Настройки для отправки сообщений о сбоях в команду разработчиков ядра ClickHouse через Sentry. Включение этих настроек, особенно в pre-production среде, может дать очень ценную информацию и поможет развитию ClickHouse.
Сервер на котором включены данные настройки должен иметь доступ в Интернет по протоколу IPv4 (на момент написания документации IPv6 не поддерживается публичным облаком Sentry) для правильной работы данной функциональности.
Ключи:
enabled
– Булевый флаг чтобы включить функциональность, по умолчаниюfalse
. Установитеtrue
чтобы разрешить отправку отчетов о сбоях.endpoint
– Вы можете переопределить URL на который будут отсылаться отчеты об ошибках и использовать собственную инсталляцию Sentry. Используйте URL синтаксис Sentry DSN.anonymize
- Запретить отсылку имени хоста сервера в отчете о сбое.http_proxy
- Настройка HTTP proxy для отсылки отчетов о сбоях.debug
- Настроить клиентскую библиотеку Sentry в debug режим.tmp_path
- Путь в файловой системе для временного хранения состояния отчетов о сбоях перед отправкой на сервер Sentry.environment
- Произвольное название среды, в которой запущен сервер ClickHouse, которое будет упомянуто в каждом отчете от сбое. По умолчанию имеет значениеtest
илиprod
в зависимости от версии ClickHouse.
Рекомендованные настройки
<send_crash_reports>
<enabled>true</enabled>
</send_crash_reports>
macros
Подстановки параметров реплицируемых таблиц.
Можно не указывать, если реплицируемые таблицы не используются.
Подробнее смотрите в разделе Создание реплицируемых таблиц.
Пример
<macros incl="macros" optional="true" />
mark_cache_size
Приблизительный размер (в байтах) кэша засечек, используемых движками таблиц семейства MergeTree.
Кэш общий для сервера, память выделяется по мере необходимости.
Пример
<mark_cache_size>5368709120</mark_cache_size>
max_server_memory_usage
Ограничивает объём оперативной памяти, используемой сервером ClickHouse. Настройка может быть задана только для профиля default
.
Возможные значения:
- Положительное целое число.
- 0 — автоматически.
Значение по умолчанию: 0
.
Дополнительная информация
Значение по умолчанию для max_server_memory_usage
рассчитывается как memory_amount * max_server_memory_usage_to_ram_ratio
.
См. также
max_server_memory_usage_to_ram_ratio
Определяет долю оперативной памяти, доступную для использования сервером Clickhouse. Если сервер попытается использовать больше, предоставляемый ему объём памяти будет ограничен до расчётного значения.
Возможные значения:
- Положительное число с плавающей запятой.
- 0 — сервер Clickhouse может использовать всю оперативную память.
Значение по умолчанию: 0.9
.
Использование
На серверах с небольшим объёмом оперативной памяти и файла подкачки может потребоваться установить настройку max_server_memory_usage_to_ram_ratio
в значение, большее 1.
Пример
<max_server_memory_usage_to_ram_ratio>0.9</max_server_memory_usage_to_ram_ratio>
См. также
max_concurrent_queries
Определяет максимальное количество одновременно обрабатываемых запросов, связанных с таблицей семейства MergeTree
. Запросы также могут быть ограничены настройками: max_concurrent_insert_queries, max_concurrent_select_queries, max_concurrent_queries_for_user, max_concurrent_queries_for_all_users, min_marks_to_honor_max_concurrent_queries.
Параметры этих настроек могут быть изменены во время выполнения запросов и вступят в силу немедленно. Запросы, которые уже запущены, выполнятся без изменений.
Возможные значения:
- Положительное целое число.
- 0 — нет лимита.
Значение по умолчанию: 100
.
Пример
<max_concurrent_queries>100</max_concurrent_queries>
max_concurrent_insert_queries
Определяет максимальное количество одновременных INSERT
запросов.
Параметры этих настроек могут быть изменены во время выполнения запросов и вступят в силу немедленно. Запросы, которые уже запущены, выполнятся без изменений.
Возможные значения:
- Положительное целое число.
- 0 — нет лимита.
Значение по умолчанию: 0
.
Example
<max_concurrent_insert_queries>100</max_concurrent_insert_queries>
max_concurrent_select_queries
Определяет максимальное количество одновременных SELECT
запросов.
Параметры этих настроек могут быть изменены во время выполнения запросов и вступят в силу немедленно. Запросы, которые уже запущены, выполнятся без изменений.
Возможные значения:
- Положительное целое число.
- 0 — нет лимита.
Значение по умолчанию: 0
.
Example
<max_concurrent_select_queries>100</max_concurrent_select_queries>
max_concurrent_queries_for_user
Определяет максимальное количество одновременно обрабатываемых запросов, связанных с таблицей семейства MergeTree
, для пользователя.
Возможные значения:
- Положительное целое число.
- 0 — нет лимита.
Значение по умолчанию: 0
.
Пример
<max_concurrent_queries_for_user>5</max_concurrent_queries_for_user>
max_concurrent_queries_for_all_users
Если значение этой настройки меньше или равно текущему количеству одновременно обрабатываемых запросов, то будет сгенерировано исключение.
Пример: max_concurrent_queries_for_all_users
установлен на 99 для всех пользователей. Чтобы выполнять запросы даже когда сервер перегружен, администратор баз данных устанавливает для себя значение настройки на 100.
Изменение настройки для одного запроса или пользователя не влияет на другие запросы.
Возможные значения:
- Положительное целое число.
- 0 — нет лимита.
Значение по умолчанию: 0
.
Пример
<max_concurrent_queries_for_all_users>99</max_concurrent_queries_for_all_users>
Смотрите также
min_marks_to_honor_max_concurrent_queries
Определяет минимальное количество засечек, считываемых запросом для применения настройки max_concurrent_queries.
Возможные значения:
- Положительное целое число.
- 0 — выключена.
Пример
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>
max_connections
Максимальное количество входящих соединений.
Пример
<max_connections>4096</max_connections>
max_open_files
Максимальное количество открытых файлов.
По умолчанию - maximum
.
Рекомендуется использовать в Mac OS X, поскольку функция getrlimit()
возвращает некорректное значение.
Пример
<max_open_files>262144</max_open_files>
max_table_size_to_drop
Ограничение на удаление таблиц.
Если размер таблицы семейства MergeTree превышает max_table_size_to_drop
(в байтах), то ее нельзя удалить запросом DROP.
Если таблицу все же необходимо удалить, не перезапуская при этом сервер ClickHouse, то необходимо создать файл <clickhouse-path>/flags/force_drop_table
и выполнить запрос DROP.
Значение по умолчанию - 50GB.
Значение 0 означает, что можно удалять все таблицы без ограничений.
Пример
<max_table_size_to_drop>0</max_table_size_to_drop>
max_thread_pool_size
ClickHouse использует потоки из глобального пула потоков для обработки запросов. Если в пуле нет свободных потоков, то в нем создается еще один. Параметр max_thread_pool_size
ограничивает максимальное количество потоков в пуле.
Возможные значения:
- Положительное целое число.
Значение по умолчанию: 10000
.
Пример
<max_thread_pool_size>12000</max_thread_pool_size>
max_thread_pool_free_size
Если в глобальном пуле потоков количество свободных потоков больше, чем задано параметром max_thread_pool_free_size
, то ClickHouse освобождает ресурсы, занятые некоторыми потоками. В таком случае размер пула уменьшается. При необходимости потоки будут созданы заново.
Возможные значения:
- Положительное целое число.
Значение по умолчанию: 1000
.
Пример
<max_thread_pool_free_size>1200</max_thread_pool_free_size>
thread_pool_queue_size
Максимальное количество задач, которые запланированы для выполнения в глобальном пуле потоков. При увеличении этого параметра возрастает использование памяти. Рекомендуется, чтобы значение этого параметра совпадало со значением параметра max_thread_pool_size.
Возможные значения:
- Положительное целое число.
Значение по умолчанию: 10000
.
Пример
<thread_pool_queue_size>12000</thread_pool_queue_size>
background_buffer_flush_schedule_pool_size
Задает к оличество потоков для выполнения фонового сброса данных в таблицах с движком Buffer.
Допустимые значения:
- Положительное целое число.
Значение по умолчанию: 16.
background_move_pool_size
Задает количество потоков для фоновых перемещений кусков между дисками. Работает для таблиц с движком MergeTree.
Допустимые значения:
- Положительное целое число.
Значение по умолчанию: 8.
background_schedule_pool_size
Задает количество потоков для выполнения фоновых задач. Работает для реплицируемых таблиц, стримов в Kafka и обновления IP адресов у записей во внутреннем DNS кеше.
Допустимые значения: