Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Настройки сеанса max_*

Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.

max_analyze_depth

Тип
UInt64
По умолчанию
5000

Максимальное количество выполняемых интерпретатором анализов.

max_autoincrement_series

Тип
UInt64
По умолчанию
1000
История версий
ВерсияЗначение по умолчаниюКомментарий
25.11000новая настройка

Ограничение на количество серий, создаваемых функцией generateSerialID.

Поскольку каждая серия представляет собой узел в Keeper, не рекомендуется создавать более пары миллионов таких серий.

max_backup_bandwidth

Тип
UInt64
По умолчанию
0

Максимальная скорость чтения в байтах в секунду для конкретной резервной копии на сервере. Ноль означает отсутствие ограничений.

max_block_size

Тип
NonZeroUInt64
По умолчанию
65409

В ClickHouse данные обрабатываются блоками, которые представляют собой наборы частей столбцов. Внутренние циклы обработки одного блока эффективны, но обработка каждого блока связана с заметными накладными расходами.

Настройка max_block_size задаёт рекомендуемое максимальное число строк в одном блоке при чтении данных из таблиц. Блоки размером max_block_size не всегда считываются из таблицы: если ClickHouse определяет, что нужно получить меньше данных, обрабатывается блок меньшего размера.

Размер блока не должен быть слишком маленьким, чтобы избежать заметных накладных расходов на обработку каждого блока. Но и слишком большим он тоже быть не должен, чтобы запросы с LIMIT выполнялись быстро после обработки первого блока. При настройке max_block_size следует стремиться не к чрезмерному расходу памяти при извлечении большого количества столбцов в нескольких потоках и сохранять хотя бы некоторую локальность кэша.

max_columns_to_read

Тип
UInt64
По умолчанию
0

Максимальное количество столбцов, которое можно прочитать из таблицы в рамках одного запроса. Если запрос требует чтения большего количества столбцов, чем указано, генерируется исключение.

Значение 0 означает отсутствие ограничений.

max_compress_block_size

Тип
UInt64
По умолчанию
1048576

Максимальный размер блоков несжатых данных перед их сжатием для записи в таблицу. По умолчанию — 1,048,576 (1 MiB). Указание меньшего размера блока обычно приводит к небольшому снижению коэффициента сжатия; при этом скорость сжатия и распаковки немного возрастает благодаря локальности кэша, а потребление памяти уменьшается.

Не путайте блоки для сжатия (фрагмент памяти, состоящий из байтов) с блоками для обработки запросов (набор строк из таблицы).

max_consume_snapshots

Экспериментальная возможность
Тип
UInt64
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
26.50Новая настройка

Максимальное количество снимков Paimon, обрабатываемых за одно инкрементальное чтение. 0 означает, что ограничение отсутствует.

max_estimated_execution_time

Тип
Секунды
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
24.10Разделены max_execution_time и max_estimated_execution_time

Максимальное оценочное время выполнения запроса в секундах. Проверяется для каждого блока данных после истечения timeout_before_checking_execution_speed.

max_expanded_ast_elements

Тип
UInt64
По умолчанию
500000

Максимальный размер синтаксического дерева запроса в узлах после раскрытия псевдонимов и символа «звёздочка».

max_fetch_partition_retries_count

Тип
UInt64
По умолчанию
5

Количество повторных попыток при получении партиции с другого хоста.

max_final_threads

Тип
MaxThreads
По умолчанию
auto(N)

Задаёт максимальное количество параллельных потоков для фазы чтения данных в запросе SELECT с модификатором FINAL.

Возможные значения:

  • Положительное целое число.
  • 0 или 1 — отключено. Запросы SELECT выполняются в одном потоке.

max_http_get_redirects

Тип
UInt64
По умолчанию
0

Максимально допустимое число переходов по перенаправлениям HTTP GET. Обеспечивает дополнительную защиту от ситуации, когда вредоносный сервер перенаправляет ваши запросы к неожиданным сервисам.\n\nЭто возможно, когда внешний сервер перенаправляет на другой адрес, но этот адрес оказывается внутренним для инфраструктуры компании. В таком случае, отправив HTTP-запрос на внутренний сервер, вы можете обратиться к внутреннему API из внутренней сети, обойдя аутентификацию, или даже выполнить запрос к другим сервисам, таким как Redis или Memcached. Если у вас нет внутренней инфраструктуры (включая что-либо, работающее на вашем localhost) или вы доверяете серверу, перенаправления можно безопасно разрешить. Однако имейте в виду: если URL использует HTTP вместо HTTPS, вам придется доверять не только удаленному серверу, но и своему интернет-провайдеру, а также всем промежуточным сетям.

Значение по умолчанию в Cloud: 10.

max_limit_for_vector_search_queries

Тип
UInt64
По умолчанию
1000
История версий
ВерсияЗначение по умолчаниюКомментарий
25.51000новая настройка

Запросы SELECT с LIMIT больше этого значения не могут использовать индексы векторного сходства. Это помогает предотвратить переполнение памяти в индексах векторного сходства.

max_os_cpu_wait_time_ratio_to_throw

Тип
Float
По умолчанию
0
История версий
ВерсияЗначение по умолчаниюКомментарий
25.50Значения настройки были изменены и бэкпортированы в 25.4
25.40новая настройка

Максимальное соотношение между временем ожидания CPU ОС (метрика OSCPUWaitMicroseconds) и временем занятости CPU (метрика OSCPUVirtualTimeMicroseconds), при превышении которого запросы могут отклоняться. Для вычисления вероятности используется линейная интерполяция между минимальным и максимальным соотношением; при этом значении вероятность равна 1.

max_parallel_replicas

Тип
NonZeroUInt64
По умолчанию
1000
История версий
ВерсияЗначение по умолчаниюКомментарий
25.11000По умолчанию используется до 1000 параллельных реплик.

Максимальное количество реплик для каждого сегмента при выполнении запроса.

Возможные значения:

  • Положительное целое число.

Дополнительная информация

Этот параметр может давать разные результаты в зависимости от используемых настроек.

Параллельная обработка с использованием ключа SAMPLE

Запрос может выполняться быстрее, если обрабатывается параллельно на нескольких серверах. Однако производительность запроса может снизиться в следующих случаях:

  • Положение ключа выборки в ключе партиционирования не позволяет эффективно выполнять диапазонное сканирование.
  • Добавление ключа выборки в таблицу снижает эффективность фильтрации по другим столбцам.
  • Ключ выборки представляет собой выражение, вычисление которого требует значительных затрат.
  • Распределение задержек в кластере имеет длинный хвост, поэтому выполнение запросов на большем числе серверов увеличивает их общую задержку.

Параллельная обработка с использованием parallel_replicas_custom_key

Этот параметр полезен для любой реплицируемой таблицы.

max_parsing_threads

Тип
MaxThreads
По умолчанию
auto(N)
История версий
ВерсияЗначение по умолчаниюКомментарий
24.40Добавлена отдельная настройка для управления числом потоков при параллельном разборе данных из файлов

Максимальное число потоков для разбора данных во входных форматах, поддерживающих параллельный разбор. По умолчанию определяется автоматически.

max_partition_size_to_drop

Тип
UInt64
По умолчанию
50000000000

Ограничение на удаление партиций во время выполнения запроса. Значение 0 означает, что партиции можно удалять без каких-либо ограничений.

Значение по умолчанию в Cloud: 1 TB.

max_parts_to_move

Тип
UInt64
По умолчанию
1000
История версий
ВерсияЗначение по умолчаниюКомментарий
24.101000Новая настройка

Ограничивает число частей, которые можно переместить в рамках одного запроса. Ноль означает отсутствие ограничений.

max_projection_rows_to_use_projection_index

Тип
UInt64
По умолчанию
1000000
История версий
ВерсияЗначение по умолчаниюКомментарий
25.111000000новая настройка

Если количество строк, которые нужно прочитать из индекса проекции, меньше или равно этому порогу, ClickHouse попытается использовать индекс проекции при выполнении запроса.

max_query_size

Тип
UInt64
По умолчанию
262144

Максимальное количество байтов в строке запроса, разбираемой SQL parser. Данные в предложении VALUES запросов INSERT обрабатываются отдельным потоковым parser (который потребляет O(1) оперативной памяти) и не подпадают под это ограничение.

max_recursive_cte_evaluation_depth

Тип
UInt64
По умолчанию
1000
История версий
ВерсияЗначение по умолчаниюКомментарий
24.41000Максимально допустимая глубина вычисления рекурсивного CTE

Максимально допустимая глубина вычисления рекурсивного CTE

max_replica_delay_for_distributed_queries

Тип
UInt64
По умолчанию
300

Отключает отстающие реплики для распределённых запросов. См. Репликация.

Задаёт время в секундах. Если отставание реплики больше или равно заданному значению, эта реплика не используется.

Возможные значения:

  • Положительное целое число.
  • 0 — Отставание реплик не проверяется.

Чтобы предотвратить использование любой реплики с ненулевым отставанием, установите этот параметр в 1.

Используется при выполнении SELECT из distributed таблицы, которая указывает на реплицированные таблицы.

max_reverse_dictionary_lookup_cache_size_bytes

Тип
UInt64
По умолчанию
104857600
История версий
ВерсияЗначение по умолчаниюКомментарий
25.12104857600Новая настройка. Максимальный размер в байтах кэша обратного поиска в словаре для каждого запроса, используемого функцией `dictGetKeys`. Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса.

Максимальный размер в байтах кэша обратного поиска в словаре для каждого запроса, используемого функцией dictGetKeys. Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса. При достижении лимита записи вытесняются по алгоритму LRU. Установите 0, чтобы отключить кэширование.

max_sessions_for_user

Тип
UInt64
По умолчанию
0

Максимальное количество одновременных сеансов для каждого прошедшего аутентификацию пользователя на сервере ClickHouse.

Пример:

<profiles>
    <single_session_profile>
        <max_sessions_for_user>1</max_sessions_for_user>
    </single_session_profile>
    <two_sessions_profile>
        <max_sessions_for_user>2</max_sessions_for_user>
    </two_sessions_profile>
    <unlimited_sessions_profile>
        <max_sessions_for_user>0</max_sessions_for_user>
    </unlimited_sessions_profile>
</profiles>
<users>
    <!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
    <Alice>
        <profile>single_session_user</profile>
    </Alice>
    <!-- User Bob can use 2 simultaneous sessions. -->
    <Bob>
        <profile>two_sessions_profile</profile>
    </Bob>
    <!-- User Charles can use arbitrarily many of simultaneous sessions. -->
    <Charles>
        <profile>unlimited_sessions_profile</profile>
    </Charles>
</users>

Возможные значения:

  • Положительное целое число
  • 0 — неограниченное количество одновременных сеансов (по умолчанию)

max_subquery_depth

Тип
UInt64
По умолчанию
100

Если запрос содержит больше указанного числа вложенных подзапросов, генерируется исключение.

max_table_size_to_drop

Тип
UInt64
По умолчанию
50000000000

Ограничение на удаление таблиц во время выполнения запроса. Значение 0 означает, что можно удалять любые таблицы без ограничений.

Значение по умолчанию в Cloud: 1 ТБ.

max_untracked_memory

Тип
UInt64
По умолчанию
4194304

Небольшие выделения и освобождения памяти группируются в локальной переменной потока и отслеживаются или профилируются только тогда, когда их объём (по абсолютной величине) превышает указанное значение. Если это значение больше, чем 'memory_profiler_step', оно фактически будет уменьшено до 'memory_profiler_step'.

max_wkb_geometry_elements

Тип
UInt64
По умолчанию
1000000
История версий
ВерсияЗначение по умолчаниюКомментарий
26.41000000Новая настройка для ограничения количества элементов при разборе WKB-геометрии, предотвращающая чрезмерное выделение памяти на повреждённых данных.

Максимальное количество точек, колец или полигонов, допустимое в одном элементе WKB-геометрии при разборе функцией readWKB и связанными с ней функциями. Это защищает от чрезмерного выделения памяти из-за повреждённых данных WKB. Установите значение 0, чтобы использовать встроенное ограничение (100 миллионов).

Navigation