Flink的job作业延迟高,有哪些解决思路?

提问者:帅平 问题分类:面试刷题
Flink的job作业延迟高,有哪些解决思路?
2 个回答
爱你的小笨蛋
爱你的小笨蛋
如果作业没有明显的反压节点的话,这种作业一般 Flink ui 上没有上面这种明显的反压节点,在 Flink ui 上会看不到红色的节点,但是一直存在延迟,这种一般是由于 Source 节点存在瓶颈。需要查看 Source 有无优化读取的参数,例如增加并发度,使用更大的数据量间隔进行拉取等。
发布于:3个月前 (02-06) IP属地:四川省
巴黎小甜心
巴黎小甜心
如果是存在反压节点的话,解决思路是:
一般作业的性能瓶颈首先看flink ui上的反压情况,反压的逻辑一言以弊之就是:下游算子处理存在瓶颈,将网络栈用满后,就不再接收上游数据,逐级反压最终反压到源头。这时候需要排查反压节点的资源情况,主要是 cpu 资源和内存资源。如果 cpu 几乎打满,可以通过火焰图定位消耗 cpu 的堆栈。

在 cpu 等其他系统指标没有问题的情况下,一般需要怀疑反压节点是否存在一些非 cpu 的耗时节点,例如卡在 io 节点等等。这个时候可以通过Thread dump 页面查看耗时堆栈。
找到反压节点后,可以考虑增加反压节点的资源和并发度以提升数据处理性能,以及根据反压节点的类型添加相应的作业参数/SQL参数进行优化。
发布于:3个月前 (02-06) IP属地:四川省
我来回答