Loading...
Loading...
Diagnose ClickHouse merge performance, part backlog, and 'too many parts' errors. Use for merge issues and part management problems.
npx skill4agent add altinity/skills altinity-expert-clickhouse-merges-- Check part creation rate (should be < 1/second)
select
toStartOfMinute(event_time) as minute,
count() as new_parts,
round(avg(rows)) as avg_rows_per_part
from system.part_log
where event_type = 'NewPart'
and database = '{database}'
and table = '{table}'
and event_time > now() - interval 1 hour
group by minute
order by minute desc
limit 30-- Check if merges are keeping up
select
toStartOfMinute(event_time) as minute,
countIf(event_type = 'NewPart') as new_parts,
countIf(event_type = 'MergeParts') as merges,
countIf(event_type = 'MergeParts') - countIf(event_type = 'NewPart') as net_reduction
from system.part_log
where database = '{database}'
and table = '{table}'
and event_time > now() - interval 1 hour
group by minute
order by minute desc
limit 30net_reductionmax_parts_to_merge_at_once-- Always include LIMIT
limit 100
-- Always time-bound historical queries
where event_date >= today() - 7
-- For part_log, always filter event_type
where event_type in ('NewPart', 'MergeParts', 'MutatePart')-- Discover available merge_reason values
select distinct merge_reason
from system.part_log
where event_type = 'MergeParts'
and event_date = today()
limit 100
-- Check table engine
select
database,
name,
engine,
partition_key,
sorting_key
from system.tables
where database = '{database}'
and name = '{table}'select * from system.part_log*_log| Finding | Load Module | Reason |
|---|---|---|
| Slow merges, normal disk | | Check ORDER BY, partitioning |
| Slow merges, high disk IO | | Storage bottleneck analysis |
| Merges blocked by mutations | | Stuck mutation investigation |
| High memory during merges | | Memory limits, settings |
| Replication lag + merge issues | | Replica queue analysis |
| Setting | Default | Impact |
|---|---|---|
| 100 | Max parts in single merge |
| 8 | Throttles large merges when busy |
| 16 | Merge threads |
| 300 | Error threshold |
| 150 | Delay threshold |
| 150GB | Max merge size |