BE 配置项 - 查询引擎和导入导出
部分 BE 节点配置项为动态参数,您可以通过命令在线修改。其他配置项为静态参数,需要通过修改 be.conf 文件后重启 BE 服务使相关修改生效。
查看 BE 配置项
您可以通过以下命令查看 BE 配置项:
SELECT * FROM information_schema.be_configs [WHERE NAME LIKE "%<name_pattern>%"]
配置 BE 参数
配置 BE 动态参数
您可以通过更新 information_schema.be_configs 中的值来配置 BE 节点的动态参数。
warning
设置无效的值可能会导致未知行为。在运行更新配置的命令之前,请务必仔细核对。
-- 将 <config_key> 替换为配置键,将 <config_value> 替换为配置值。
UPDATE information_schema.be_configs SET VALUE = <config_value> WHERE name = "<config_key>";
配置 BE 静态参数
BE 静态参数不支持在线修改,您需要在 be.conf 中修改并重启 BE 服务。
当前主题包含以下类型的 FE 配置:
查询引擎
dictionary_speculate_min_chunk_size
- 默认值:10000
- 类型:Int
- 单位:Rows
- 是否动态:否
- 描述:StringColumnWriter 和 DictColumnWriter 用于触发字典编码推测的最小行数(chunk 大小)。如果传入列(或累积缓冲区加上传入行 )大小大于等于
dictionary_speculate_min_chunk_size,写入器将立即运行推测并设置一种编码(DICT、PLAIN 或 BIT_SHUFFLE),而不是继续缓冲更多行。对于字符串列,推测使用dictionary_encoding_ratio来决定字典编码是否有利;对于数值/非字符串列,使用dictionary_encoding_ratio_for_non_string_column。此外,如果列的 byte_size 很大(大于等于 UINT32_MAX),会强制立即进行推测以避免BinaryColumn<uint32_t>溢出。 - 引入版本:v3.2.0
disable_storage_page_cache
- 默认值:false
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否开启 PageCache。
- 开启 PageCache 后,StarRocks 会缓存最近扫描过的数据,
- 对于查询重复性高的场景,会大幅提升查询效率。
true表示不开启。- 自 2.4 版本起,该参数默认值由
true变更为false。自 3.1 版本起,该参数由静态变为动态。
- 引入版本:-
enable_bitmap_index_memory_page_cache
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否为 Bitmap index 开启 Memory Cache。使用 Bitmap index 加速点查时,可以考虑开启。
- 引入版本:v3.1
enable_compaction_flat_json
- 默认值:True
- 类型:Bool
- 单位:
- 是否动态:是
- 描述:控制是否为 Flat Json 数据进行 Compaction。
- 引入版本:v3.3.3
enable_json_flat
- 默认值:false
- 类型:Boolean
- 单位:
- 是否动态:是
- 描述:是否开启 Flat JSON 特性。开启后新导入的 JSON 数据会自动打平,提升 JSON 数据查询性能。
- 引入版本:v3.3.0
enable_lazy_dynamic_flat_json
- 默认值:True
- 类型:Bool
- 单位:
- 是否动态:是
- 描述:当查询在读过程中未命中 Flat JSON Schema 时,是否启用 Lazy Dynamic Flat JSON。当此项设置为
true时,StarRocks 将把 Flat JSON 操作推迟到计算流程,而不是读取流程。 - 引入版本:v3.3.3
enable_ordinal_index_memory_page_cache
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否为 Ordinal index 开启 Memory Cache。Ordinal index 是行号到数据 page position 的映射,可以加速 Scan。
- 引入版本:-
enable_string_prefix_zonemap
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否为字符串(CHAR/VARCHAR)列启用基于前缀的 Zonemap 索引。对于非键列,最小值/最大值会截断到由
string_prefix_zonemap_prefix_len配置的前缀长度。 - 引入版本:-
enable_zonemap_index_memory_page_cache
- 默认值:true
- 类型:Boolean
- 单位:-
- 是否动态:是
- 描述:是否为 Zonemap index 开启 Memory Cache。使用 Zonemap index 加速 Scan 时,可以考虑开启。
- 引入版本:-
exchg_node_buffer_size_bytes
- 默认值:10485760
- 类型:Int
- 单位:Bytes
- 是否动态:是
- 描述:Exchange 算子中,单个查询在接收端的 Buffer 容量。这是一个软限制,如果数据的发送速度过快,接收端会触发反压来限制发送速度。
- 引入版本:-
exec_state_report_max_threads
- 默认值:2
- 类型:Int
- 单位:Threads
- 是否动态:是
- 描述:exec-state-report 线程池的最大线程数。该线程池由
ExecStateReporter用于将普通优先级的执行状态报告(如 Fragment 完成状态、错误状态等)从 BE 异步地通过 RPC 上报给 FE。启动时实际使用的线程数为max(1, exec_state_report_max_threads)。运行时修改此配置会触发对所有 Executor Set(共享和独占)中线程池调用update_max_threads。该线程池的任务队列大小固定为 1000,当所有线程繁忙且队列已满时,新的上报任务将被静默丢弃。高优先级线程池由priority_exec_state_report_max_threads控制。若在高并发查询场景下观察到执行状态上报延迟或丢失,可适当增大此值。 - 引入版本:v4.1.0, v4.0.8, v3.5.15
file_descriptor_cache_capacity
- 默认值:16384
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:文件描述符缓存的容量。
- 引入版本:-
flamegraph_tool_dir
- 默认值:
${STARROCKS_HOME}/bin/flamegraph - 类型:String
- 单位:-
- 是否动态:否
- 描述:火焰图工具的目录,该目录应包含 pprof、stackcollapse-go.pl 和 flamegraph.pl 脚本,用于从性能分析数据生成火焰图。
- 引入版本:-
fragment_pool_queue_size
- 默认值:2048
- 类型:Int
- 单位:-
- 是否动态:否
- 描述:单 BE 节点上能够处理的查询请求上限。
- 引入版本:-