Перейти к основному содержанию
В этом руководстве приведены общие рекомендации по выбору конфигурации оборудования, вычислительных ресурсов, памяти и дисковой подсистемы для пользователей open-source. Если вы хотите упростить развертывание, рекомендуем использовать ClickHouse Cloud: сервис автоматически масштабируется и подстраивается под ваши рабочие нагрузки, сводя к минимуму затраты на управление инфраструктурой. Конфигурация вашего кластера ClickHouse в значительной степени зависит от сценария использования приложения и характера рабочих нагрузок. При планировании архитектуры необходимо учитывать следующие факторы:
  • Параллелизм (запросов в секунду)
  • Пропускная способность (обрабатываемых строк в секунду)
  • Объем данных
  • Политика хранения данных
  • Затраты на оборудование
  • Затраты на обслуживание

Диск

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

Оптимизация производительности

Чтобы добиться максимальной производительности, мы рекомендуем напрямую подключать SSD-тома с выделенным IOPS от AWS или аналогичное решение вашего облачного провайдера, оптимизированное для операций ввода-вывода.

Оптимизация затрат на хранилище

Чтобы снизить затраты, можно использовать EBS-тома SSD общего назначения. Также можно реализовать многоуровневое хранилище на SSD и HDD в архитектуре hot/warm/cold. В качестве альтернативы для хранения можно использовать AWS S3, чтобы обеспечить разделение вычислительных ресурсов и хранилища. Руководство по использованию ClickHouse с открытым исходным кодом с разделением вычислительных ресурсов и хранилища см. здесь. В ClickHouse Cloud разделение вычислительных ресурсов и хранилища доступно по умолчанию.

CPU

Какой CPU выбрать?

Выбор CPU зависит от характера вашей нагрузки. В целом приложения с большим количеством частых параллельных запросов, обрабатывающие большие объёмы данных или использующие вычислительно затратные UDF, потребуют больше CPU-ядер. Приложения с низкой задержкой или клиентские приложения Для сценариев, где требуется задержка на уровне десятков миллисекунд, например для клиентских рабочих нагрузок, мы рекомендуем линейки EC2 i3 line или i4i line от AWS либо аналогичные варианты от вашего облачного провайдера с оптимизацией под I/O. Приложения с высоким параллелизмом Для рабочих нагрузок, которым важен высокий параллелизм (100+ запросов в секунду), мы рекомендуем compute-optimized C series от AWS или аналогичный вариант от вашего облачного провайдера. Сценарий использования хранилища данных Для рабочих нагрузок хранилища данных и ad hoc аналитических запросов мы рекомендуем R-type series от AWS или аналогичный вариант от вашего облачного провайдера, так как они оптимизированы по памяти.

Какой должна быть загрузка CPU?

Для ClickHouse нет стандартного целевого уровня загрузки CPU. Используйте такой инструмент, как iostat, чтобы измерять среднюю загрузку CPU, и соответственно подбирайте размер серверов с учетом возможных неожиданных всплесков трафика. Однако для аналитических сценариев или сценариев хранилища данных с ad hoc-запросами стоит ориентироваться на загрузку CPU на уровне 10–20%.

Сколько ядер CPU следует использовать?

Необходимое количество CPU зависит от вашей рабочей нагрузки. Однако обычно мы рекомендуем следующие соотношения объема памяти к числу ядер CPU в зависимости от типа CPU:
  • M-type (сценарии общего назначения): соотношение памяти к ядру CPU — 4 ГБ:1
  • R-type (сценарии использования хранилища данных): соотношение памяти к ядру CPU — 8 ГБ:1
  • C-type (сценарии, оптимизированные для вычислений): соотношение памяти к ядру CPU — 2 ГБ:1
Например, при использовании CPU типа M мы рекомендуем выделять 100 ГБ памяти на каждые 25 ядер CPU. Чтобы определить подходящий для вашего приложения объем памяти, необходимо проанализировать использование памяти с помощью данных профилирования. Вы можете прочитать это руководство по отладке проблем с памятью или использовать встроенную панель мониторинга обсервабилити для мониторинга ClickHouse.

Память

Как и при выборе CPU, выбор соотношения памяти к хранилищу и памяти к CPU зависит от вашего сценария использования. Требуемый объём оперативной памяти обычно зависит от:
  • Сложности запросов.
  • Объёма данных, обрабатываемых в запросах.
В целом чем больше памяти, тем быстрее будут выполняться запросы. Если для вашего сценария использования важна стоимость, подойдут и меньшие объёмы памяти, поскольку можно включить настройки (max_bytes_before_external_group_by и max_bytes_before_external_sort), чтобы разрешить выгрузку данных на диск, но учтите, что это может существенно сказаться на производительности запросов.

Каким должно быть соотношение памяти и хранилища?

При небольших объёмах данных допустимо соотношение памяти и хранилища 1:1, но общий объём памяти не должен быть меньше 8 ГБ. Для сценариев с длительным сроком хранения данных или большими объёмами данных мы рекомендуем соотношение памяти и хранилища от 1:100 до 1:130. Например, 100 ГБ оперативной памяти на реплику, если вы храните 10 ТБ данных. Для сценариев с частым доступом, например для клиентских рабочих нагрузок, мы рекомендуем использовать больше памяти — при соотношении памяти и хранилища от 1:30 до 1:50.

Реплики

Мы рекомендуем использовать как минимум три реплики на сегмент (или две реплики с Amazon EBS). Кроме того, рекомендуем сначала вертикально масштабировать все реплики и лишь затем добавлять новые реплики (горизонтальное масштабирование). ClickHouse не выполняет сегментирование автоматически, а повторное сегментирование данных потребует значительных вычислительных ресурсов. Поэтому мы обычно рекомендуем использовать самый мощный из доступных серверов, чтобы в будущем не пришлось заново перераспределять данные по сегментам. Рассмотрите возможность использования ClickHouse Cloud, который масштабируется автоматически и позволяет легко управлять количеством реплик под ваши задачи.

Примеры конфигураций для крупных рабочих нагрузок

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

Fortune 500 B2B SaaS

Хранилище
Ежемесячный прирост данных30TB
Общий объем хранилища (в сжатом виде)540TB
Срок хранения данных18 месяцев
диск на узел25TB
CPU
Параллелизм200+ параллельных запросов
Количество реплик (включая HA-пару)44
vCPU на узел62
Общее количество vCPU2700
Память
Общий объем оперативной памяти11TB
Оперативная память на реплику256GB
Соотношение оперативной памяти и vCPU4 GB:1
Соотношение оперативной памяти и дискового пространства1:50

Телеком-оператор из списка Fortune 500 для сценария логирования

Хранилище
Ежемесячный объем логов4860TB
Общий объем хранилища (в сжатом виде)608TB
Срок хранения данных30 дней
Диск на узел13TB
CPU
Число реплик (включая HA-пару)38
vCPU на узел42
общее количество vCPU1600
Память
общий объем оперативной памяти10TB
Оперативная память на реплику256GB
Соотношение оперативной памяти и vCPU6 GB:1
Соотношение оперативной памяти и диска1:60

Дополнительные материалы

Ниже приведены опубликованные статьи в блогах компаний об их архитектурах с использованием open-source ClickHouse:
Последнее изменение 12 июня 2026 г.