跳到主要内容

性能调优流程指南

Doris 性能调优是系统工程,需要方法论指导。Doris 提供诊断工具分析工具支持系统化诊断,可高效完成性能问题的定位、分析与解决。

调优前自检 Checklist:

  • 已确认存在慢 SQL 或性能下降现象
  • 可访问 FE 节点日志或 Doris Manager
  • 熟悉业务表的 Schema 设计与查询模式
  • 了解 EXPLAINProfile 等基础分析工具

完整的调优四步流程如下:

性能调优流程

步骤阶段核心目标主要工具
第 1 步慢查询定位找出待优化的 SQLDoris Manager、fe.audit.logaudit_log
第 2 步Schema 调优排除设计层瓶颈分区分桶、索引、Colocate Group
第 3 步计划调优优化执行计划EXPLAIN、物化视图、Hint
第 4 步执行调优优化运行时性能Profile、Runtime Filter、并行度参数

第 1 步:慢查询定位

目的:从业务系统中筛选出需要调优的慢 SQL。

操作方式

场景推荐方式说明
已部署 Doris Manager使用 Manager 日志页面可视化界面,便于筛选与排序
未部署 Doris Manager查询 FE 节点的 fe.audit.logaudit_log 系统表获取慢 SQL 列表后按优先级排序调优

更多工具用法请参考诊断工具

第 2 步:Schema 设计与调优

定位慢 SQL 后,优先检查业务 Schema 设计,排除设计层导致的性能问题。Schema 调优分为三个方面:

调优方向主要内容参考文档
表级 Schema 调优分区分桶个数、字段类型优化表 Schema
索引设计调优前缀索引、Bloom Filter、倒排索引等优化表索引
特定优化手段Colocate Group 等使用 Colocate Group 优化 Join

详细案例请参考 计划调优

第 3 步:计划调优

完成 Schema 检查后进入调优主体阶段。该阶段充分利用 Doris 各层级的 EXPLAIN 工具,系统分析慢 SQL 的执行计划,定位关键优化点。

按场景分类的调优手段:

详细案例请参考 计划调优

第 4 步:执行调优

执行调优阶段需要根据 SQL 实际运行情况,验证计划调优效果,并继续分析执行侧瓶颈,例如执行阶段耗时分布、并行度不足等。

以多表分析查询为例,可通过 Profile 检查:

  • 计划规划的 Join 顺序是否合理
  • Runtime Filter 是否生效
  • 并行度是否符合预期
  • 机器负载情况(如 IO 慢、网络传输性能不达预期)

针对机器负载类问题,需要使用系统级别工具辅助诊断。详细案例请参考 执行调优

提示

分析具体性能问题时,推荐先检查计划,后调优执行。先用 EXPLAIN 确认执行计划,再用 Profile 定位执行性能。顺序颠倒可能导致效率低下,不利于快速定位问题。

常见问题

Q1:调优时应该先做 Schema 调优还是先做计划调优?

应优先做 Schema 调优。Schema 设计不合理(如分区分桶字段错误、缺少必要索引)会导致执行计划本身无法优化,先解决 Schema 问题可避免在错误的基础上反复调优。

Q2:EXPLAINProfile 的区别是什么?

工具输出内容使用阶段
EXPLAIN静态执行计划(不实际运行)计划调优
Profile实际运行的耗时与资源指标执行调优

Q3:Join Order 不合理怎么办?

观察 EXPLAIN 输出,使用 Leading Hint 手工指定 Join 顺序。

Q4:发现 IO 慢、网络慢等问题如何处理?

Profile 可反馈机器负载情况,但根因定位需要结合操作系统级工具(如 iostatsarnetstat)排查硬件或网络瓶颈。

总结

Doris 提供多维度调优工具,支持从慢查询定位、Schema 设计、执行计划到运行时性能的全链路诊断。建议业务人员与 DBA 按"定位 → Schema → 计划 → 执行"的四步流程进行系统化调优,以充分释放 Doris 的性能优势。