Перейти к основному содержимому
Перейти к основному содержимому

Оценка ресурсов

Ниже приведена модель для оценки вычислительных ресурсов и ресурсов хранения, необходимых для развертывания ClickStack, на основе ожидаемого объёма приёма данных. Полученные значения являются лишь оценочными и должны использоваться как начальная точка отсчёта — это не готовый рецепт. Фактические требования зависят от сложности запросов, уровня параллелизма, политик хранения и колебаний пропускной способности ингестии. Всегда отслеживайте использование ресурсов и масштабируйте систему по мере необходимости.

Все показатели основаны на несжатом исходном объёме приёма

Все значения на этой странице — пропускная способность (MB/s, TB/month), размер CPU и объём хранилища — выражены через несжатый исходный объём приёма, то есть размер данных в том виде, в котором они создаются вашими приложениями и отправляются в OpenTelemetry collector до применения какого-либо сжатия.

Именно этот показатель следует оценивать на основе ваших существующих конвейеров логов, трейсов и метрик. Значения объёма хранилища в таблице ниже уже рассчитаны с применением предполагаемого 10-кратного коэффициента сжатия к этому исходному объёму.

При развертывании ClickStack выделяйте вычислительные ресурсы под две независимые рабочие нагрузки: приём и запросы.

Рабочая нагрузкаОценка ресурсов
Приём1 vCPU на каждые 10 MB/s устойчивой пропускной способности приёма
Запросы1 vCPU на 1 QPS и на каждые 10 MB/s устойчивой пропускной способности приёма
Изоляция запросов и приёма

В большинстве самоуправляемых развертываний приём и запросы используют одни и те же узлы. В этом случае используйте общее число CPU как базовую точку отсчёта. Изолированное масштабирование — при котором вычислительные ресурсы для приёма и запросов выделяются независимо — поддерживается в ClickHouse Cloud через отдельные вычислительные пулы, также называемые хранилищами.

Допущения
  • 10-кратный коэффициент сжатия для хранилища — обычно это консервативная оценка для логов и трейсов.
  • SLA для запросов: P50 на уровне 1,5 секунды и P99 на уровне 5 секунд.
  • Мы исходим из того, что большинство запросов выполняется по свежим данным и следует логнормальному распределению с пиком примерно через один час и спадом примерно к шести часам. Пользователям может потребоваться выделить отдельные вычислительные ресурсы для запросов к более старым данным. В ClickHouse Cloud такие ресурсы могут простаивать (и, следовательно, не создавать затрат), когда не используются.
  • Хотя вычислительные ресурсы для запросов можно масштабировать независимо от ресурсов для приёма, они по-прежнему напрямую связаны с объёмом приёма. Мы предполагаем, что по мере роста приёма увеличивается плотность данных, что приводит к большим объёмам сканирования во время выполнения запросов и, как следствие, к более высоким требованиям к вычислительным ресурсам для запросов.

В следующей таблице приведены примеры размеров ресурсов на основе роста пропускной способности приёма в мегабайтах в секунду, а также соответствующие объёмы данных в терабайтах в месяц. Предполагается устойчивое среднее значение 1 QPS в ClickStack для всех типов запросов (поиск, дашборды, оповещения).

MB/sTB/monthCPU для приёмаCPU для запросовВсего CPUОбщее хранилище (в месяц) (GB)
1025.921342,592
2051.842685,184
50129.65152012,960
100259.210304025,920
200518.420608051,840
5001,29650150200129,600
10002,592100300400259,200

Уточнение допущений по расчёту ресурсов для вашей среды

Модель предполагает устойчивое среднее значение 1 QPS со стороны ClickStack суммарно по всем типам запросов, включая поиск, дашборды и оповещения.

Для более высоких объёмов запросов линейно масштабируйте требования к CPU, умножая их на целевое значение QPS. Например, развертывание с приёмом 100 МБ/с и целевым значением 9 QPS потребует 90 CPU для запросов (10 × 9) вместо базовых 10, что даст пересчитанный итог в 100 CPU (10 на приём + 90 на запросы).

Оценка хранилища основана на консервативном коэффициенте сжатия 10x. На практике логи, трейсы и метрики часто сжимаются лучше. Мы рекомендуем заранее провести тесты на выборке данных, чтобы определить коэффициент сжатия и требования к хранилищу до выхода в продакшен. Чтобы вычислить требуемый объём хранилища для более длительного срока хранения, умножьте объём хранилища за месяц на количество месяцев хранения.

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

Пример расчёта

Требования: 1,5 ПБ/месяц приёма, 5 QPS, хранение в течение 3 месяцев.

Преобразование в МБ/с

Модель расчёта ресурсов выражена в МБ/с. Переведём 1,5 ПБ/месяц (1 500 ТБ) в постоянную пропускную способность:

  • 1 500 ТБ = 1 500 000 000 МБ
  • Секунд в месяце (30 дней): 30 × 24 × 60 × 60 = 2 592 000
  • МБ/с = 1 500 000 000 ÷ 2 592 000 ≈ 579 МБ/с

Вычислительные ресурсы для приёма

При 1 vCPU на каждые 10 МБ/с постоянного приёма:

579 ÷ 10 = ~58 vCPU для приёма

Вычислительные ресурсы для запросов

Объём вычислительных ресурсов для запросов масштабируется как по пропускной способности приёма, так и по QPS. При 5 QPS:

(579 ÷ 10) × 5 = 58 × 5 = 290 vCPU для запросов

Хранилище

При постоянной скорости 579 МБ/с в течение 30 дней объём несжатого приёма составляет 1 500 ТБ/месяц. С учётом предполагаемого коэффициента сжатия 10x:

  • Сжатый объём в месяц: 1 500 ТБ ÷ 10 = 150 ТБ/месяц
  • Для хранения в течение 3 месяцев: 150 ТБ × 3 = 450 ТБ всего

Итоги

РесурсЗначение
Вычислительные ресурсы для приёма58 vCPU
Вычислительные ресурсы для запросов290 vCPU
Всего вычислительных ресурсов348 vCPU
Хранилище в месяц (сжатое)150 ТБ
Хранилище для 3-месячного хранения450 ТБ

Изоляция рабочих нагрузок обсервабилити

Если вы добавляете ClickStack в существующий сервис ClickHouse Cloud, который уже поддерживает другие рабочие нагрузки, например аналитику приложений в реальном времени, настоятельно рекомендуется изолировать трафик обсервабилити.

Используйте Управляемые хранилища, чтобы создать дочерний сервис, выделенный для ClickStack. Это позволяет:

  • Изолировать нагрузку приёма и запросов от существующих приложений
  • Независимо масштабировать рабочие нагрузки обсервабилити
  • Не допускать влияния запросов обсервабилити на аналитику в промышленной эксплуатации
  • При необходимости использовать одни и те же базовые датасеты в разных сервисах

Этот подход гарантирует, что существующие рабочие нагрузки не будут затронуты, и при этом позволяет ClickStack масштабироваться независимо по мере роста объёма данных обсервабилити.

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