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

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

在数据分析场景中,用户需要根据业务需求调整Doris集群的配置参数来优化性能。然而,手动调整配置参数不仅耗时,而且容易出错,导致集群性能未能达到最优状态。为此用户可以在控制台中多次调整Doris集群配置参数,以优化集群性能,从而提高数据处理效率和系统响应速度。

使用限制

  • 修改集群静态参数需要重启集群,可能会导致业务的中断。建议在业务低峰期进行操作,以免对业务造成影响。
  • 集群无运行中的任务时,才能修改参数。
  • CloudTable Doris集群重启过程中,不允许修改集群参数。

Doris修改参数步骤

  1. 登录表格存储服务控制台
  2. 左上角选择区域。
  3. 在左侧导航栏中,单击“集群管理”。
  4. 在集群列表中找到所需要的集群,单击“集群名称 > 参数配置”进入参数配置页签。
  5. 选择修改的节点(FE、BE节点)后,选中需要修改的参数,在“参数值”列单击
  6. 在修改框中输入新值,单击,系统提示“参数修改为' xx '成功,请保存本次修改值”,并且修改的参数值后显示红色*。

    如果单击,则取消修改。

    图1 修改参数

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

    图2 保存修改
    • 单击确定后,再单击右上角的刷新按钮,如果参数表状态显示“已生效”,集群不用重启。如果显示“未生效”,用户需要手动重启集群才能使修改的参数生效。
    • 单击参数配置页签左上角的重启按钮,集群重启或者返回集群列表页面重启集群。

      静态参数修改完成后,需要手动重启集群,参数才能生效。动态参数修改后生效,不用重启集群。

    • 如果修改的参数值不正确,可以在“保存修改”对话框中单击“一键还原”,取消修改参数值。

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

    表1 参数说明

    参数

    参数说明

    参数名

    被修改过的参数名。

    旧值

    修改前的参数值。

    新值

    修改后的参数值。

    修改时间

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

Doris参数修改状态

表2 状态

状态

状态说明

未更改

Doris未更改的参数。

未应用

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

未生效

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

已生效

Doris参数修改后已生效:

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

FE节点参数说明

表3 FE节点参数说明

参数名

静态参数

参数描述

max_routine_load_job_num

  • 描述:该参数限制的例行导入作业的总数,包括NEED_SCHEDULED,RUNNING,PAUSE这些状态。超过后,不能提交新的作业。
  • 参数类型:int
  • 取值范围:(0,300)
  • 默认值:100

use_new_tablet_scheduler

  • 描述:是否启用新的副本调度方式。
  • 约束限制:此参数仅支持存算一体集群。
  • 参数类型:boolean
  • 取值范围:[true,false]
  • 默认值:true

audit_plugin_max_sql_length

  • 描述:Doris审计日志记录所执行SQL的最大长度,超过长度部分会被截断。该值设置过大可能会导致占用过多内存影响集群可用性,请谨慎调整。
  • 约束限制:
    • 此参数仅支持存算一体集群。
    • 此参数仅支持Doris2.1.7及以上版本。如果当前已创建的Doris 2.1.7版本集群参数配置页面未显示此参数,则联系技术人员处理。
  • 参数类型:long
  • 取值范围:(0,9223372036854775807)
  • 默认值:4096

enable_create_colocate_table

  • 描述:是否允许创建colocate表,配置为true时允许创建。 colocate表为本地性表,一般不会随扩缩容迁移,集群缩容时可能会因为colocate表无法数据迁移而失败。 请谨慎修改。
  • 约束限制:
    • 此参数仅支持存算一体集群。
    • 此参数仅支持Doris2.1.7及以上版本。如果当前已创建的Doris 2.1.7版本集群参数配置页面未显示此参数,则联系技术人员处理。
  • 参数类型:boolean
  • 取值范围:[true,false]
  • 默认值:false

max_broker_concurrency

  • 描述:broker scanner的最大并发数。
  • 参数类型:int
  • 取值范围:(5,30)
  • 默认值:10

tablet_repair_delay_factor_second

  • 描述:对于不同的调度优先级,我们会延迟不同的时间后开始修复。以防止因为例行重启、升级等过程中,产生大量不必要的副本修复任务。此参数为一个基准系数。对于HIGH优先级,延迟为基准系数 * 1;对于NORMAL优先级,延迟为基准系数 * 2;对于LOW优先级,延迟为基准系数 * 3。即优先级越低,延迟等待时间越长。如果用户想尽快修复副本,可以适当降低该参数。
  • 参数类型:long
  • 取值范围:(0,9223372036854775807)
  • 默认值:60

balance_load_score_threshold

  • 描述:集群balance百分比的阈值。默认为0.1,即10%。当一个BE节点的load score,不高于或不低于平均load score的10%时,我们认为这个节点是均衡的。如果想让集群负载更加平均,可以适当调低这个参数。
  • 参数类型:double
  • 取值范围:(0,1)
  • 默认值:0.1

dynamic_partition_check_interval_seconds

  • 描述:动态分区线程的执行频率,默认为600(10分钟),即每10分钟进行一次调度。
  • 单位:s
  • 参数类型:long
  • 取值范围:(0,9223372036854775807)
  • 默认值:600

max_routine_load_task_concurrent_num

  • 描述:该参数限制了一个例行导入作业最大的子任务并发数。建议维持默认值。设置过大,可能导致同时并发的任务数过多,占用集群资源。
  • 参数类型:int
  • 取值范围:(0,10)
  • 默认值:5

dynamic_partition_enable

  • 描述:是否开启Doris的动态分区功能。默认为false,即关闭。该参数只影响动态分区表的分区操作,不影响普通表。
  • 参数类型:boolean
  • 取值范围:[true,false]
  • 默认值:true

max_bytes_per_broker_scanner

  • 描述:

    broker scanner程序可以在一个broker加载作业中处理的最大字节数。通常,每个BE都有一个broker scanner程序,单个BE处理的数据量的最大值,默认为500G。如果单个BE导入的数据量>max_bytes_per_broker scanner会报错,需要调大参数max_bytes per_broker_scanner,或者调整导入并发数。具体计算逻辑如下:本次导入并发数=Math.min(源文件大小/最小处理量,最大并发数,当前BE节点个数) 本次导入单个BE的处理量=源文件大小/本次导入的并发数 其中:最小处理量min_bytes_per_broker scanner默认为64M,最大并发数max broker concurrency默认为10。

    单位:byte

  • 参数类型:long
  • 取值范围:(0,9223372036854775807)
  • 默认值:3221225472

BE节点参数说明

表4 BE节点参数说明

参数名

静态参数

参数描述

max_consumer_num_per_group

  • 描述:一个数据消费者组中的最大消费者数量,用于routine load。
  • 参数类型:int
  • 取值范围:(0,10)
  • 默认值:3

clone_worker_count

  • 描述:用于执行克隆任务的线程数,其值影响副本均衡的速度。在磁盘压力不大的情况下,可以通过调整该参数来加快副本均衡。
  • 参数类型:int
  • 取值范围:(0,10)
  • 默认值:3

compaction_promotion_min_size_mbytes

  • 描述:Cumulative Compaction的输出rowset总磁盘大小低于此配置大小时,该rowset将不进行Base Compaction,仍然处于Cumulative Compaction流程中。
  • 单位:mbyte
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:32

max_cumu_compaction_threads

  • 描述:Cumulative Compaction线程池中线程数量的最大值,“-1”表示每个磁盘一个线程。
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:32

tablet_rowset_stale_sweep_time_sec

  • 描述:表示清理合并版本的过期时间,当当前时间now()减去一个合并的版本路径中rowset最近创建时间大于“tablet_rowset_stale_sweep_time_sec”值时,对当前路径进行清理,删除合并过的rowset。
  • 单位:s
  • 参数类型:int
  • 取值范围:(0,2147483648)
  • 默认值:1800

streaming_load_json_max_mb

  • 描述:用于限制数据格式为JSON的一次Stream Load导入任务中,允许的最大数据量。
  • 单位:mb
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:100

string_type_length_soft_limit_bytes

  • 描述:String类型最大长度的软限。
  • 单位:byte
  • 参数类型:int
  • 取值范围:(0,2147483648)
  • 默认值:104857600

mem_limit

  • 描述:用于限制BE进程使用服务器最大内存百分比。
  • 参数类型:string
  • 取值范围:(0,100)
  • 默认值:80%

tablet_writer_open_rpc_timeout_sec

  • 描述:在远程BE中打开tablet writer的RPC超时时间。
  • 单位:s
  • 参数类型:int
  • 取值范围:(0,2147483648)
  • 默认值:300

query_cache_max_size_mb

  • 描述:查询结果最大缓存大小。
  • 单位:mb
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:512

query_cache_elasticity_size_mb

  • 描述:当Cache的内存空间超过query_cache_max_size_mb + query_cache_elasticity_size_mb值时,释放最近最久未使用的Cache,直至占用内存低于“query_cache_max_size_mb”参数值。
  • 单位:mb
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:256

max_base_compaction_threads

  • 描述:Base Compaction线程池中线程数量的最大值,“-1”表示每个磁盘一个线程。
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:8

compaction_task_num_per_fast_disk

  • 描述:每个高速磁盘(SSD)可以并发执行的Compaction任务数量。
  • 参数类型:int
  • 取值范围:(0,10240)
  • 默认值:8

max_segment_num_per_rowset

  • 描述:用于限制导入时,新产生的rowset中的Segment数量。如果超过阈值,导入会失败并报错-238。过多的Segment会导致Compaction占用大量内存引发OOM错误。
  • 参数类型:int
  • 取值范围:(0,2147483648)
  • 默认值:1000

max_tablet_version_num

  • 描述:限制单个Tablet最大version的数量。用于防止导入过于频繁,或Compaction不及时导致大量version堆积问题。当超过限制后,导入任务将被拒绝。
  • 参数类型:int
  • 取值范围:(0,2147483648)
  • 默认值:2000

exchg_node_buffer_size_bytes

  • 描述:ExchangeNode节点Buffer队列的大小。来自Sender端发送的数据量大于ExchangeNode的Buffer大小之后,后续发送的数据将阻塞直到Buffer有可写入的空间。
  • 参数类型:int
  • 单位:byte
  • 取值范围:(0,2147483648)
  • 默认值:20485760

相关文档