Проблема производительности CPU

57 views
Skip to first unread message

Дмитрий Tecrum

unread,
Sep 24, 2023, 5:37:07 PM9/24/23
to ClickHouse
Использую clickhouse на 1 сервере (ssd диски).
Имеются таблицы AggregatedMergeTree в которые делаются вставки раз в 5 минут, около 5 млн записей.
И так же таблицы CollapsingMergeTree в которые так же около 4-5 млн записей в 5 мин делается по крону.

Столкнулся с проблемой производительности CPU - load порядка 80%. AMD EPYC 7302P 16-Core (32 threads) но на сервере нет большого количества чтений, основное это вставка записей. Но почему-то грузится CPU. Уточню что на этих таблицах где идет вставка есть еще 3-4 materializedView. проблемы прямо появились с нагрузкой при добавлении таблицы CollapsingMergeTree - там вставка делается по 300К - 1000К записей за раз, чтобы уменьшить нагрузку, бо было по 10К. За одну отработку крона может быть от 3 до 10 млн записей.

Так вот вопрос, какое оптимальное кол-во записей для вставки за 1 запрос выбрать, чтобы уменьшить cpu load? Данные в таблице CollapsingMergeTree имеют ключ ORDER BY (type, event, t_event, source_id, campaign_id, creative_id, dsp_creative_id, subscription_id, id) хотя основное поле для слияния дублей это id (оно уникально) - остальные нужны для создания индекса и чтобы быстрее выборка была по условию этих полей. Это нормальный подход? или же нужно бы оставить только поле id в order by?

коротко про поля:
type uint8 - 2 значения
event uint8 - 3 значения
t_event datetime
source uint32 - 10-20К значений
campaign_id uint32 - 5к значений
creative_id uint32 - 10к значений
dsp_creative_id uint32 - 30к значений
subscription_id uint32 - много разных
id uint64 - много разных - уникальный id

Еще вопрос: если данные зарание перед вставкой отсортировать по условию ORDER BY (type, event, t_event, source_id, campaign_id, creative_id, dsp_creative_id, subscription_id, id) - уменьшиться ли нагрузка на CPU при вставке? имеет ли смысл?

Уменьшиться ли нагрузка CPU при вставках если заменить движок CollapsingMergeTree на MergeTree?


Дмитрий Tecrum

unread,
Sep 27, 2023, 3:48:03 AM9/27/23
to ClickHouse
Все, проблема решена. Дело было в другом. Накладывались cron задачи и выполнялись параллельно. Вопрос снят

понедельник, 25 сентября 2023 г. в 00:37:07 UTC+3, Дмитрий Tecrum:
Reply all
Reply to author
Forward
0 new messages