Skip to content

Clicktuning

Тюнинг Clickhouse

Создаём дополнительные файлы настройки с отключением лишних штук.

Задаём ограничение времени хранения логов. В /etc/clickhouse-server/config.d/query_log.xml пишем:

<yandex>
    <query_log replace="1">
    <database>system</database>

    <table>query_log</table>
        <flush_interval_milliseconds>7500</flush_interval_milliseconds>
        <engine>
          ENGINE = MergeTree
          PARTITION BY event_date
          ORDER BY (event_time)
          TTL event_date + interval 90 day
          SETTINGS ttl_only_drop_parts=1
        </engine>
    </query_log>
</yandex>
Отключаем thread log. В /etc/clickhouse-server/config.d/disable_query_thread_log.xml пишем:
<yandex>
    <query_thread_log remove="1"/>
</yandex>
Отключаем встроенные метрики Clickhouse если хотим мониторить его параметры внешним мониторингом. В /etc/clickhouse-server/config.d/disable_metric_logs.xml пишем:
<yandex>
  <metric_log remove="1" />
  <asynchronous_metric_log remove="1" />
</yandex>
Отключаем part_log. В /etc/clickhouse-server/config.d/part_log.xml пишем:
<yandex>
    <part_log remove="1" />
</yandex>
Включаем log queries (в новых версиях Clickhouse включен по-умолчанию). В /etc/clickhouse-server/users.d/log_queries.xml пишем:
<yandex>
  <profiles>
    <default>
      <log_queries>1</log_queries>
    </default>
  </profiles>
</yandex>
Запись данных на диск сразу в отсортированном виде. В /etc/clickhouse-server/users.d/enable_on_disk_operations.xml пишем:
<yandex>
  <profiles>
    <default>
      <max_bytes_before_external_group_by>2000000000</max_bytes_before_external_group_by>
      <max_bytes_before_external_sort>2000000000</max_bytes_before_external_sort>
     </default>
  </profiles>
</yandex>