目录

Flink反压如何查看和优化

我们在使用Flink程序进行流式数据处理时,由于种种原因难免会遇到性能问题,如我们在使用Flink程序消费kafka数据,可能会遇到kafka数据有堆积的情况,并且随着时间的推移,数据堆积越来越多,这就表名消费处理数据的速度没有跟上生产的速度。面对这种情况,我们如何知道到底哪个环节造成性能瓶颈问题,这就需要我们对flink作业链路进行分析排查,找出存在瓶颈的算子。好在flink为我们提供了任务监控的Web UI,我们可以可以通过监控的算子反压情况找出性能瓶颈的算子。
Flink 1.5 之前是基于 TCP 流控 + bounded buffer 实现反压。
Flink 1.5 之后实现了自己托管的 credit -- based 流控机制,在应用层模拟 TCP 的流控机制。

反压如果不能得到正确的处理,可能会影响到 checkpoint 时长和 state 大小,甚至可能会导致资源耗尽甚至系统崩溃。

Flink的反压机制

Flink的反压(BackPressure)机制是通过周期性对taskManager线程的栈信息采样,计算被阻塞在请求输出Buffer的线程比率来确定,默认情况下,比率在0.1以下为OK,0.1到0.5为LOW,超过0.5则为HIGH。算子链如果存在反压,则意味着某个算子存在瓶颈,即其处理速率跟不上上游发送数据的速率,从而需要对上游进行限速,影响任务整体处理性能。所以,我们需要找出存在性能瓶颈的算子节点,优化对应的算子,才能解决整体的性能问题。算子是否存在反压,可以通过Flink任务提供的Web UI的反压状态表现出来,根据算子链的反压状态,找出存在性能瓶颈的算子,从而有针对性的进行优化。比如,我们的流作业在存在性能问题的情况下,会导致数据源消费速率跟不上生产速率,从而引起Kafka消费组的积压。在这种情况下,可以通过算子的反压和时延,确定算子的性能瓶颈点。

反压场景进行分析及应对处理

下面对flink任务常见的反压场景进行分析及应对处理:

  • kafka数据有堆积,但所有算子反压都正常(蓝色)

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

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

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

  • 作业最后一个算子反压正常(蓝色),但前面的算子都高反压(红色)

该场景说明性能瓶颈点在sink算子(Vertex3),可以通过调整sink.parallelism来优化.但还需要根据对应的具体数据源具体优化,比如对于JDBC数据源,可以通过调整写出批次及刷写时间(sink.buffer-flush.max-rows 、sink.buffer-flush.interval)等。

  • 反压算子下游有多个算子

如下,作业一个算子反压高(红色),而后后续多个并行算子反压正常(蓝色)

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

inPoolUsage 监控

总结

依次算子链从前往后找到最后一个反压算子节点,则瓶颈一般为该节点的下游节点,如果其下游有多个节点,则通过查看其所有下游节点的Metrics监控的buffers.inPoolUsage,如果某节点的buffers.inPoolUsage长期为1,则该节点即为瓶颈节点。

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
Elastic 中国社区官方博客12 分钟前
Elasticsearch:使用机器学习生成筛选器和分类标签
大数据·人工智能·elasticsearch·机器学习·搜索引擎·ai·分类
zhangjin122226 分钟前
kettle插件-postgresql插件
大数据·postgresql·etl·kettle cdc·kettle插件·kettle实时数据同步
天氰色等烟雨3 小时前
Flink 1.20 Kafka Connector:新旧 API 深度解析与迁移指南
大数据
你觉得2051 天前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
啊喜拔牙1 天前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
别惊鹊1 天前
MapReduce工作原理
大数据·mapreduce
8K超高清1 天前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
2401_871290581 天前
MapReduce 的工作原理
大数据·mapreduce
SelectDB技术团队1 天前
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
大数据·数据库·数据仓库·人工智能·ai·数据分析·湖仓一体
你觉得2051 天前
浙江大学朱霖潮研究员:《人工智能重塑科学与工程研究》以蛋白质结构预测为例|附PPT下载方法
大数据·人工智能·机器学习·ai·云计算·aigc·powerpoint