Справка о параметрах ClickHouse

Параметры сервера

Подробную информацию о параметрах сервера можно найти в официальной документации ClickHouse.

Вы можете настроить следующие параметры сервера ClickHouse:

  • background_buffer_flush_schedule_pool_size — количество потоков для выполнения фонового сброса данных.

    Рекомендуемое значение: (1—​2) * количество ядер процессора.

  • background_common_pool_size — количество потоков для освобождения памяти.

    Рекомендуемое значение: (0—​1) * количество ядер процессора.

  • background_distributed_schedule_pool_size — количество потоков для выполнения фоновых задач.

    Рекомендуемое значение: (1—​2) * количество ядер процессора.

  • background_fetches_pool_size — количество потоков для репликации данных.

    Рекомендуемое значение: (0—​1) * количество ядер процессора.

  • background_message_broker_schedule_pool_size — количество потоков для фонового вывода сообщений.

    Рекомендуемое значение: (1—​2) * количество ядер процессора.

  • background_move_pool_size — количество потоков для перемещений данных между дисками.

    Рекомендуемое значение: (0—​1) * количество ядер процессора.

  • background_pool_size — количество потоков для слияний и мутаций таблиц.

    Рекомендуемое значение: (1—​2) * количество ядер процессора.

  • background_merges_mutations_concurrency_ratio — отношение количества слияний и мутаций, которые могут выполняться одновременно, к количеству потоков background_pool_size. Например, если параметр принимает значение 2, а background_pool_size — 16, то сервер ClickHouse может одновременно выполнять 32 слияния.

  • background_schedule_pool_size — количество потоков для выполнения фоновых задач.

    Рекомендуемое значение: (8—​16) * количество ядер процессора.

  • mark_cache_size — приблизительный размер кэша меток в байтах.

    Рекомендуемое значение: 1—​5 ГБ.

  • max_concurrent_queries — максимальное количество одновременно обрабатываемых запросов. Если принимает значение 0, то ограничений нет.

    Рекомендуемое значение: (1—​2) * количество ядер процессора.

  • max_server_memory_usage_to_ram_ratio — доля оперативной памяти, используемой сервером ClickHouse. Измеряется от 0 до 1. Если принимает значение 0, то сервер может использовать всю оперативную память. По умолчанию параметр не задан и воспринимается системой равным 0.9.

    Рекомендуемое значение: 0.9.

  • max_server_memory_usage — максимальный объем оперативной памяти в байтах, используемой сервером ClickHouse. Если принимает значение 0, то объем памяти определяется автоматически следующим образом:

    <memory_amount> * max_server_memory_usage_to_ram_ratio

    Здесь:

    • <memory_amount> — общий объем оперативной памяти.

    Рекомендуемое значение: 0 при max_server_memory_usage_to_ram_ratio = 0.9.

  • Параметры для ограничения количества ошибочных строк при вставке:

    • input_format_allow_errors_num — максимально допустимое количество строк с ошибками при выполнении операции вставки. Если строка содержит ошибку, но значение input_format_allow_errors_num не превышено, ClickHouse пропускает эту строку и продолжает выполнение запроса. Значение по умолчанию — 0.

    • input_format_allow_errors_ratio — максимально допустимая доля строк с ошибками при выполнении операции вставки. Если строка содержит ошибку, но значение input_format_allow_errors_ratio не превышено, ClickHouse пропускает эту строку и продолжает выполнение запроса. Измеряется от 0 до 1. Значение по умолчанию — 1.

    Ошибка выполнения запроса возникает только при превышении одновременно input_format_allow_errors_num и input_format_allow_errors_ratio.
  • max_execution_time — предельное время выполнения запроса в секундах. Значение по умолчанию — 10.

  • queue_max_wait_ms — предельное время ожидания запроса в очереди в миллисекундах, если количество параллельных запросов превышает лимит. Значение по умолчанию — 1000.

  • connect_timeout — предельное время ожидания подключения к БД в секундах, если в кластере не используется репликация. Значение по умолчанию — 10.

  • connect_timeout_with_failover_ms — предельное время ожидания подключения к БД в миллисекундах, если в кластере используются шардирование и репликация. Значение по умолчанию — 750.

  • connections_with_failover_max_tries — предельное количество попыток подключения к каждой реплике. Параметр следует настраивать, только если в кластере используется репликация. Значение по умолчанию — 2.

  • skip_unavailable_shards и insert_distributed_sync — параметры, которые определяют, будут ли пропущены недоступные шарды при операциях чтения (SELECT) и вставки (INSERT):

    Операция skip_unavailable_shards insert_distributed_sync Результат

    SELECT

    0

    0 или 1

    Ошибка при недоступности хотя бы одного шарда.

    1

    0 или 1

    Возвращаются данные только с доступных шардов.

    Часть данных, находящаяся на недоступных шардах, возвращена не будет, ошибок запроса не возникнет.

    INSERT

    0

    0 или 1

    Ошибка при недоступности хотя бы одного шарда.

    1

    0

    Будет произведена вставка в доступные шарды.

    Данные для вставки в недоступные шарды будут буферизованы для последующей вставки при восстановлении доступности шардов.

    1

    1

    Ошибка при недоступности хотя бы одного шарда.

  • prefer_localhost_replica — если параметр включен, при получении распределенного запроса сервер ClickHouse проверяет наличие и доступность реплики на том же узле кластера, где он установлен. Если такая реплика доступна, запрос отправляется к ней, иначе сервер обращается к репликам на других узлах кластера. Значение по умолчанию — true.

  • allow_suspicious_ttl_expressions — если параметр включен, TTL-выражения, не зависящие от столбцов таблицы, разрешены.

    allow_suspicious_ttl_expressions должен иметь значение 1, поскольку TTL-выражения используются для внутрисистемных операций.

Параметры таблиц MergeTree

Таблицы семейства MergeTree позволяют использовать механизм репликации данных. Подробную информацию о MergeTree-параметрах можно найти в официальной документации ClickHouse.

Вы можете настроить следующие параметры MergeTree-таблиц:

  • max_bytes_to_merge_at_max_space_in_pool — максимальный общий размер таблиц, которые могут быть слиты, в байтах.

    Рекомендуемое значение: 1—​4 ГБ.

  • merge_max_block_size — количество строк, которые считываются в память из слитых таблиц.

    Рекомендуемое значение: 1024—​4096.

  • number_of_free_entries_in_pool_to_lower_max_size_of_merge — количество свободных записей в пуле или реплицированной очереди, при преуменьшении которого уменьшится максимальный размер слияния.

    Рекомендуемое значение: 1—​4.

  • max_suspicious_broken_parts — максимальное количество поврежденных партиций. При превышении этого значения отключается автоматическое удаление.

Была ли полезна эта страница?

Обратная связь