вопросом об утилизаци ресурсов.
Почтал досклад "Анализ производительности запросов в ClickHouse. Доклад Яндекса"
Кроме того что Клик жрет все что ему в тареку наложено и инструентов для поиска потолков - ничего для себя пустного в вопросе железа не нашел.
В офиц доке тож ничего нет.
Союственно хочу понять. чтобы ворочить пол теребайта данных на ССД для дюжины аналитиков сколько оптимально памяти надо? Сколько ядер?
Как я понял мультиядерность включается в случае если хэш таблица операции помещается в процессорный кэш. НУ ОК навесим 4 ядра для начала. Этого много? Мало?
С памятью вообще не понятно. Не включайте своп - ОК не буду. А как вы ее утилизируете? в каких операциях на нее идет осноная нагрузка?
скорость выполнения запросов линейна числу ядер, тоесть вы можете запустить на 4 ядрах и запросы будут работать, просто медленно. Это уже чисто вам решать какая скорость приемлема и сколько ядер выделить под ваше понимание приемлемости я бы запускал на 16 ядрах и смотрел хватает на всех или нет Память опять же зависит от запросов, всё что читается с диска распаковывается и в итоге в памяти будет занимать в ~10 раз больше чем прочитано. Если не делать никаких ограничений то можно и 512 Гб утилизировать при желании. Просто сделайте тесты на своих данных, это самый быстрый вариант
Спасибо. Я из статьи что то такое и понял - запускаемся, анализируем поведение, докручиваем.
Начинал бы с 16 и 64 Гб оперативки. И Clickhouse все абсолютно параллелит
основная нагрузка на память это GROUP BY и ORDER BY операции... буфера на вставку (2Мб на колонку) буфера при data part merging https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-who-ate-my-memory/
не знал что клик так ядра счелкать любит ) но учту, спасибо в любом случае!
Обсуждают сегодня