实时计算作业开发过程中,完成了业务逻辑实现、作业上线和启动运行后,为了满足实时计算作业的性能需求,还需对作业进行调优。

作业调优的目的和衡量标准

  • 作业正常启动和运行。
  • 作业具备合理的延时和吞吐,满足业务性能需求。
  • 高效的使用资源,降低成本。

作业调优步骤

建议的作业调优顺序和步骤如下图。
procedure
  1. SQL优化

    SQL优化即根据业务需求选择合适的SQL实现方式,包括但不限于聚合优化、数据热点优化、TOPN优化、使用内置函数、高效去重、慎用正则函数等,具体可参见高性能Flink SQL优化技巧

  2. 参数调优
    • 作业参数调优

      选择底层优化策略,例如设置minibatch优化State访问策略等,具体可参见作业参数调优

    • 上下游存储参数调优

      优化上下游存储读写,例如,攒批读写提升吞吐和设置Cache策略提升维表JOIN效率等,具体可参考上下游参数调优

  3. 自动资源调优
    为了简化作业调优,实时计算开发了自动配置调优功能。建议优先通过自动配置调优功能进行作业调优。
  4. 手动资源调优或再次进行调优
    • 手动资源调优
      自动配置调优无法满足需求的情况下,可针对性的进行手动配置调优
      说明 blink 3.x版本提供反压检测功能协助您判断性能反压点。
    • 再次进行调优

      如果一次调优后的结果不能满足您的业务需求,可按照步骤1~4,再次进行调优。