Skip to main content
Эти настройки доступны в system.settings и автоматически сгенерированы на основе исходного кода.

max_threads

Максимальное количество потоков обработки запроса, за исключением потоков, используемых для получения данных с удалённых серверов (см. параметр ‘max_distributed_connections’). Этот параметр применяется к потокам, которые параллельно выполняют одни и те же стадии конвейера обработки запроса. Например, при чтении из таблицы, если можно параллельно задействовать как минимум число потоков, равное ‘max_threads’, для вычисления выражений с функциями, фильтрации с помощью WHERE и предварительной агрегации для GROUP BY, то будут использованы ‘max_threads’. Для запросов, которые быстро завершаются из-за LIMIT, можно задать меньшее значение ‘max_threads’. Например, если нужное количество записей находится в каждом блоке и max_threads = 8, то будут считаны 8 блоков, хотя достаточно было бы прочитать только один. Чем меньше значение max_threads, тем меньше потребляется памяти. По умолчанию настройка max_threads соответствует числу аппаратных потоков (количеству ядер CPU), доступных ClickHouse. В особом случае для процессоров x86 с менее чем 32 ядрами CPU и SMT (например, Intel HyperThreading) ClickHouse по умолчанию использует количество логических ядер (= 2 x число физических ядер). При отсутствии SMT это соответствует количеству ядер CPU. Для пользователей ClickHouse Cloud значение по умолчанию отображается как auto(N), где N соответствует размеру vCPU вашего сервиса, например 2vCPU/8GiB, 4vCPU/16GiB и т. д. Список всех размеров сервиса см. на вкладке настроек в консоли Cloud.

max_threads_for_indexes

Максимальное количество потоков, обрабатывающих индексы.

max_threads_min_free_memory_per_thread

Уменьшает max_threads, когда сервер испытывает нехватку памяти, чтобы не запускать сильно распараллеленные запросы, которые с высокой вероятностью достигнут лимита памяти. Свободная память вычисляется как max_server_memory_usage сервера за вычетом объёма памяти, который в данный момент отслеживается глобальным трекером памяти. Если этой свободной памяти меньше, чем max_threads, умноженное на это значение, max_threads уменьшается до наибольшего N, такого что N * value <= free_memory, с минимумом 1. Установите 0, чтобы отключить это ограничение. Например, при значении по умолчанию 1 GiB и 32 GiB свободной памяти значение max_threads ограничивается 32; при 1 GiB свободной памяти оно снижается до 1. Эта настройка применяется к параллелизму на стороне чтения (SELECT, UNION, INTERSECT/EXCEPT и часть SELECT в INSERT ... SELECT). Для стороны записи см. max_insert_threads_min_free_memory_per_thread.
Последнее изменение 23 июля 2026 г.