clickhouse 配置项解析

举报
福州司马懿 发表于 2022/01/27 00:01:21 2022/01/27
【摘要】 config.xml max_table_size_to_drop 此参数在 /etc/clickhouse-server/config.xml 中,应用于需要删除表或分区的情况,默认是50GB,意思...

config.xml

  1. max_table_size_to_drop

    此参数在 /etc/clickhouse-server/config.xml 中,应用于需要删除表或分区的情况,默认是50GB,意思是如果删除50GB以上的分区表会失败。建议修改为0,这样不管多大的分区表都可以删除

  2. max_concurrent_queries
    最大并发查询限制,默认100

users.xml

  1. max_memory_usage
    此参数在 /etc/clickhouse-server/config.xml 中,表示单次Query占用内存最大值,超过的话会查询失败。建议尽量调大一些,同时保留一点给 OS

  2. max_bytes_before_external_group_by
    min_insert_block_size_rows=8192, min_insert_block_size_bytes

聚合需要分两个阶段进行:1.查询并且建立中间数据 2.合并中间数据。
数据“溢出”到磁盘一般发生在第一个阶段,如果没有发生数据“溢出”,ClickHouse在阶段1和阶段2可能需要相同数量的内存

建议将max_memory_usage设置为max_bytes_before_external_group_by大小的两倍

  1. max_bytes_before_external_sort
    与 max_bytes_before_external_group_by 类似,只不过将 group 换成了 sort

  2. max_threads
    设置单个查询所能使用的最大线程个数,默认是CPU的核数 ‘auto(4)’

  3. background_pool_size
    后台线程池的大小,merge线程就是在该线程池中执行,该线程池不仅仅是给merge线程用的,默认值16,允许的前提下建议改成cpu个数的2倍(线程数)

  4. background_schedule_pool_size
    执行后台任务(复制表、Kafka流、DNS缓存更新)的线程数。默认128, 建议改成cpu个数的 16 倍(线程数)

  5. background_distributed_schedule_pool_size
    设置为分布式发送执行后台任务的线程数,默认16,建议改成cpu个数的2倍(线程数)

  6. max_partitions_per_insert_block
    限制单个插入块中的最大分区数。默认值:100,填0表示不限制。一旦单个SQL插入的数据分区块数大于max_partitions_per_insert_block,就会报错 Too many partitions for single INSERT block

补充

system库里面的表都不是复制表 直接set只会在当前server生效

distribution查询的时候会传递的,最终这些set其实全部保存在client端。随着每个query走的(修改了一个server端,那么client查询会默认将参数传递)

文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chy555chy/article/details/121664246

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。