clickhouse调优配置

这篇具有很好参考价值的文章主要介绍了clickhouse调优配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、官方文档地址

clickhouse的配置项主要在 config.xml 或 users.xml 中, 基本上都在 users.xml 里

config.xml

https://clickhouse.tech/docs/en/operations/server-configuration-parameters/settings/

users.xml

https://clickhouse.tech/docs/en/operations/settings/settings/

二、建表优化

2.1、数据类型选择:

时间字段 使用DateTime类型,不要用字符串,clickhouse底层将DateTIme存为时间戳Long类型,但不建议使用Long类型,DateTime方便用于分区,只需要使用toYYYYMMDD(time)或者toDate(time),便可实现按天分区;
空值存储 官方指出Nullable类型会拖累性能,因为存储Nullable列时需要创建一个额外的文件来存储Null值的标记,并且Nullable列无法被索引。可用空字符串或者指定一个业务中无意义的值(例如-1表示无用id);

2.2、分区和索引选择:

分区粒度 一般选择按天分区
索引列选择 1:查询条件中经常被用来当筛选条件的属性;
2:可以是单一维度,也可以是组合维度的索引;
3:查询频率大的在前;
4:基数特别大的不适合做索引(例如id);

2.3、表参数:

TTL(生命周期) 指定TTL可以免去手动删除过期历史数据的麻烦,可以通过alter修改;

三、配置优化

3.1、CPU资源配置:

background_pool_size 后台线程池大小,merge线程就是在里这执行,默认16,建议设置为cpu个数的2倍;
background_schedule_pool_size 执行后台任务的线程数,默认128,建议设置为cpu个数的2倍;
background_distributed_schedule_pool_size 为分布式发送执行后台任务的线程数,默认16,建议改成cpu个数的2倍;
max_concurrent_queries 最大并发处理的请求数,默认100,建议150~300;
max_threads 单个查询所能使用的最大cpu个数,默认是cpu核数;

3.2、内存资源配置:

max_memory_usage 单次query占用内存的最大值,可以设置大一点,提升集群查询性能;
max_bytes_before_external_group_by group by使用存储超出该阈值后会刷新到磁盘进行(tmp目录),不设置时超出则报错;
max_bytes_before_external_sort order by使用内存超出阈值就溢写磁盘,不设置时超出则报错;
max_table_size_to_drop 限制删除该数据量以上的分区表,建议修改为0,不限制删除;

四、写入和删除优化:

4.1:尽量不执行单条或小批量的删除和插入操作,会产生小分区文件,merge压力大;
4.2:不要一次写入太多分区,或写入太快(merge跟不上会报错,clickhosue默认使用了WAL提高写入性能的方式来处理);
文章来源地址https://www.toymoban.com/news/detail-697290.html

到了这里,关于clickhouse调优配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一百四十七、Kettle——Linux上安装的kettle8.2连接ClickHouse数据库

    kettle8.2在Linux安装好后,需要与ClickHouse数据库建立连接 https://pan.baidu.com/s/1iqGyXsTaQSCHEbjj7yX7AA 提取码: mvzd   注意 : clickhouse-plugins文件里就是自定义的驱动jar包 注意: 要知道Linux系统架构是64位还是32位, 它们所属的Linux文件夹不同 到这里,Linux安装的kettle8.2就可以与ClickHou

    2024年02月13日
    浏览(66)
  • Hadoop3教程(二十八):(生产调优篇)NN、DN的多目录配置及磁盘间数据均衡

    NN多目录的意思是,本地目录可以配置成多个,且每个目录存放内容相同,这样的目的是增加可靠性。比如说下图这样: 但其实生产中不常用哈, 生产中要增加NN的可靠性的话,一般会开启NN的高可用,即在不同节点上开启多个NN,靠zookeeper来协调 。 所以本节就 了解一下即可

    2024年02月08日
    浏览(43)
  • 一百五十六、Kettle——Linux上安装的Kettle9.3连接ClickHouse数据库(亲测,附流程截图)

    kettle9.3在Linux上安装好后,需要与ClickHouse数据库建立连接 1、kettle版本是9.3 2、ClickHouse版本是21.9.5.16   https://pan.baidu.com/s/1iqGyXsTaQSCHEbjj7yX7AA 提取码: mvzd 注意 : clickhouse-plugins文件里就是自定义的clickhouse驱动jar包    注意 : 要区分Linux系统架构是64位还是32位, 它们所属的L

    2024年02月12日
    浏览(63)
  • clickhouse-配置解释

    详细内容看官网文档 名称 含义 默认值 allow_use_jemalloc_memory 允许使用 jemalloc 内存 1(布尔) asynchronous_heavy_metrics_update_period_s 更新异步指标的时间段(以秒为单位) 120 asynchronous_metrics_update_period_s 更新异步指标的时间段(以秒为单位) 1 background_buffer_flush_schedule_pool_size 将用于

    2024年02月10日
    浏览(24)
  • kafka调优配置

    来源于尚硅谷 参数名称 描述 bootstrap.servers 生产者连接集群所需的broker地址清单。例如hadoop102:9092,hadoop103:9092,hadoop104:9092,可以设置1个或者多个,中间用逗号隔开。注意这里并非需要所有的broker地址,因为生产者从给定的broker里查找到其他broker信息。 key.serializer和value.serial

    2024年02月11日
    浏览(34)
  • Linux调优指南

    更多相关知识可以阅读: https://www.yuque.com/treblez/qksu6c/yxl59pkvczqot9us https://www.yuque.com/treblez/qksu6c/nqe8ip59cwegl6rk 本文不会讲解linux的基础知识。 观测时优先使用top、vmstat和pidstat三个工具: 这几个调度类的优先级如下:Deadline Realtime Fair 如果你的某些任务对延迟容忍度很低,比如

    2024年02月20日
    浏览(26)
  • linux系统调优

      2.2.1 命令行直接修改 2.2.2 基于配置文件进行修改       6.4 启动服务 6.5 查看服务状态 注:也可以配置清华源:https://mirrors-i.tuna.tsinghua.edu.cn/      

    2024年02月10日
    浏览(26)
  • ClickHouse集群搭建及ODBC配置

    192.168.122.100  BCEuler01 192.168.122.101  BCEuler02 192.168.122.102  BCEuler03 # systemctl disable firewalld # systemctl stop firewalld # /etc/selinux/config SELINUX=disabled 将BCEuler01设置为时钟同步源 BEEuler01的/etc/chrony.conf: 修改的部分: server 192.168.122.100 iburst allow 192.168.0.0/16 local stratum 10 BCEuler02的/etc/chrony.co

    2024年02月10日
    浏览(42)
  • Linux性能调优 —— 内存篇

      大多数计算机用的主存都是动态随机访问内存(DRAM),只有内核才可以直接访问物理内存。Linux内核给每个进程提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样进程就可以很方便的访问内存( 虚拟内存 )。   虚拟地址空间的内部分为内核空间和用户空间

    2024年02月07日
    浏览(32)
  • Nginx调优和探活配置

    Nginx基本参数优化 1 . worker_processes 1; # 指定 Nginx 要开启的进程数,结尾的数字就是进程的个数,可以为 auto。  这个参数调整的是 Nginx 服务的 worker 进程数,Nginx 有 Master 进程和 worker 进程之分,Master 为管理进程、真正接待“客户端”的是 worker 进程。 进程个数的策略:worke

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包