clickhouseToo many parts . Merges are processing significantly slower than inserts
Posted 九师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouseToo many parts . Merges are processing significantly slower than inserts相关的知识,希望对你有一定的参考价值。
1.概述
转载:添加链接描述
相信很多同学在刚开始使用clickhouse的时候都有遇到过该异常,出现异常的原因是因为MergeTree的merge的速度跟不上目录生成的速度, 数据目录越来越多就会抛出这个异常, 所以一般情况下遇到这个异常,降低一下插入频次就ok了,单纯调整background_pool_size的大小是治标不治本的。
我们的场景:
我们的插入速度是严格按照官方文档上面的推荐”每秒不超过1次的insert request”,但是有个插入程序在运行一段时间以后抛出了该异常,很奇怪。
问题排查:
排查发现失败的这个表的数据有一个特性,它虽然是实时数据但是数据的eventTime是最近一周内的任何时间点,我们的表又是按照day + hour组合分区的那么在极限情况下,我们的一个插入请求会涉及7*24分区的数据,也就是我们一次插入会在磁盘上生成168个数据目录(文件夹),文件夹的生成速度太快,merge速度跟不上了,所以官方文档的上每秒不超过1个插入请求,更准确的说是每秒不超过1个数据目录。
case study:
分区字段的设置要慎重考虑,如果每次插入涉及的分区太多,那么不仅容易出现上面的异常,同时在插入的时候也比较耗时,原因是每个数据目录都需要和zookeeper进行交互。
M.参考
【clickhouse】clickhouse 同时查询数过多 Too many simultaneous queries
以上是关于clickhouseToo many parts . Merges are processing significantly slower than inserts的主要内容,如果未能解决你的问题,请参考以下文章
Replacement Leaf springs are one of the many suspension parts
clickhouseclickhouse : Suspiciously many broken parts to remove.: Cannot attach table default