文档首页/ 表格存储服务 CloudTable/ 用户指南/ 使用ClickHouse/ ClickHouse集群运维/ 修改ClickHouse参数配置对集群进行性能调优
更新时间:2025-07-17 GMT+08:00
分享

修改ClickHouse参数配置对集群进行性能调优

创建完ClickHouse集群后,用户可以通过修改参数配置,对集群进行性能调优。

使用限制

  • 修改集群静态参数时,需要重启集群,可能会导致业务中断,请在业务低峰时期进行此操作。
  • 集群无其他任务(如数据迁移、扩容)进行时,才可以修改参数配置。
  • 集群重启过程中,不允许修改参数配置。
  • 参数配置只支持存算一体架构。

修改ClickHouse参数步骤

  1. 登录CloudTable管理控制台。
  2. 控制台左上角选择区域。
  3. 进入“集群管理”页面,在集群列表中单击目标集群“集群名称 > 参数配置”,进入“参数配置”页面。
  4. 单击“参数配置”页签,进入“参数配置”页签。
  5. 选择修改的节点,单击目标参数的“参数值”列
  6. 在修改框中输入新值,单击,系统提示“参数修改为' xx '成功,请保存本次修改值”,并且修改的参数值后显示红色*。

    如果单击,则取消修改。

  7. 单击参数列表左上方的“保存修改”,弹出“保存修改”对话框。
  8. 在“保存修改”对话框中,确认参数修改信息正确后,然后单击“确定”。

    • 单击确定后,再单击右上角的刷新按钮,如果参数表状态显示“已生效”,集群不用重启。如果显示“未生效”,用户需要手动重启集群才能使修改的参数生效。
    • 单击参数配置页签左上角的重启按钮,集群重启或者返回集群列表页面重启集群。
    • 如果修改的参数值不正确,可以在“保存修改”对话框中单击“一键还原”,取消修改参数值。

  9. 参数修改完成后,可以单击“修改历史”页签查看参数修改的历史。“修改历史”页面中显示如下信息。

    表1 参数说明

    参数

    参数说明

    参数名

    被修改过的参数名。

    旧值

    修改前的参数值。

    新值

    修改后的参数值。

    修改时间

    记录用户修改参数值的时间。

ClickHouse参数状态

表2 状态

状态

状态说明

未更改

ClickHouse未更改的参数。

未应用

ClickHouse参数已修改但是未应用。

应用中

ClickHouse静态参数,修改保存后需要重启集群。

已应用

ClickHouse参数修改后已生效:

  • 静态参数修改保存后,集群需要重启才能生效。
  • 动态参数修改保存后生效。

应用失败

ClickHouse参数修改后应用失败。

参数说明

表3 Server节点参数

参数名

静态参数

描述

background_pool_size

  • 参数类型:int
  • 参数范围[16,256]
  • 参数默认值:16
  • 描述:MergeTree引擎表的后台合并和变更的线程数。您只能在运行时增加线程数。要降低线程数,您必须重新启动服务器。通过调整此设置,您可以管理CPU和磁盘负载。较小的池大小会利用较少的CPU和磁盘资源,但后台进程的推进速度较慢,这可能最终会影响查询性能。

max_insert_threads

  • 参数类型:int
  • 参数范围[0,256]
  • 参数默认值:0
  • 描述:执行INSERT SELECT查询的最大线程数。并行INSERT SELECT仅在SELECT部分并行执行时有效,较高的值将导致更高的内存使用。

max_memory_usage_for_user

  • 参数类型:long
  • 单位:Byte
  • 参数范围:[0,274877906944‬]
  • 参数默认值:0
  • 描述:在单台服务器上执行用户查询时可使用的最大RAM量。零表示无限制。

max_memory_usage

  • 参数类型:long
  • 单位:Byte
  • 参数范围:[0,274877906944‬]
  • 参数默认值:0
  • 描述:在单台服务器上执行查询时可使用的最大RAM量。 0的值表示无限制。

distributed_product_mode

  • 参数类型:enum
  • 参数范围:[deny,local,global,allow]
  • 参数默认值:deny
  • 描述:当分布式表的查询包含非GLOBAL子查询时使用。deny— 默认值。禁止使用这些类型的子查询(返回“禁止双重分布式IN/JOIN子查询”异常)。local— 将子查询中的数据库和表替换为目标服务器(分片)的本地表,保留正常的IN/JOIN。global— 将 IN/JOIN查询替换为GLOBAL IN/GLOBAL JOIN。allow— 允许使用这些类型的子查询。

max_partition_size_to_drop

  • 参数类型:long
  • 单位:Byte
  • 参数范围:[0,9223372036854775807]
  • 参数默认值:50000000000
  • 描述:删除分区的大小限制。值为0的意思是您可以删除所有分区而没有任何限制。

max_table_size_to_drop

  • 参数类型:long
  • 单位:Byte
  • 参数范围:[0,9223372036854775807]
  • 参数默认值:50000000000
  • 描述:删除表的大小限制。值为0的意思是您可以删除所有表而没有任何限制。

相关文档