数据湖探索 DLI-Flink作业性能调优:性能分析

时间:2024-11-06 21:53:30

性能分析

由于Flink的反压机制,流作业在存在性能问题的情况下,会导致数据源消费速率跟不上生产速率,从而引起Kafka消费组的积压。在这种情况下,可以通过算子的反压和时延,确定算子的性能瓶颈点。

  • 作业最后一个算子(Sink)反压正常(绿色),前面算子反压高(红色)

    该场景说明性能瓶颈点在sink,此时需要根据具体数据源具体优化,比如对于JDBC数据源,可以通过调整写出批次(connector.write.flush.max-rows)、JDBC参数重写(rewriteBatchedStatements=true)等进行优化。

  • 作业非倒数第二个算子反压高(红色)

    该场景说明性能瓶颈点在Vertex2算子,可以通过查看该算子描述,确认该算子具体功能,以进行下一步优化。

  • 所有算子反压都正常(绿色),但存在数据堆积

    该场景说明性能瓶颈点在Source,主要是受数据读取速度影响,此时可以通过增加Kafka分区数并增加source并发解决。

  • 作业一个算子反压高(红色),而其后续的多个并行算子都不存在反压(绿色)

    该场景说明性能瓶颈在Vertex2或者Vertex3,为了进一步确定具体瓶颈点算子,可以在FlinkUI页面开启inPoolUsage监控。如果某个算子并发对应的inPoolUsage长时间为100%,则该算子大概率为性能瓶颈点,需分析该算子以进行下一步优化。

    图3 inPoolUsage监控
support.huaweicloud.com/dli_faq/dli_03_0106.html