Hi

对于已经改为at least once的checkpoint,其在checkpoint时对于作业吞吐的影响只有task 
同步阶段的snapshot,这个时间段的snapshot由于与task的主线程的数据访问持有同一把锁,会影响主线程的数据处理。但是就算这样,我也很怀疑checkpoint本身并不是导致早上10点高峰期无法运行的罪魁祸首。
使用异步的,支持增量的state backend (例如RocksDBStateBackend)会大大缓解该问题。
建议排查思路:

  1.  检查使用的state backend类型
  2.  检查是否存在sync阶段checkpoint用时久的问题(可以观察WEB UI上的checkpoint部分,看sync阶段的耗时)
  3.  借助jstack等工具,检查执行checkpoint时,TM上的task执行逻辑,判断是哪里消耗CPU

祝好
唐云
________________________________
From: LakeShen <[email protected]>
Sent: Wednesday, August 26, 2020 10:00
To: user-zh <[email protected]>
Subject: Re: flink checkpoint导致反压严重

Hi zhanglachun,

你们使用 checkpoint 的方式是什么?是否有 full gc 的情况呢

Best,
LakeShen

徐骁 <[email protected]> 于2020年8月26日周三 上午2:10写道:

> input
>   .keyBy(<key selector>)
>   .timeWindow(<duration>)
>   .reduce(new MyReduceFunction(), new MyProcessWindowFunction());
>
> 可以看一下官网的 reduce 用法, 可以在数据进入窗口的时候进行处理(排序), 而没必要等到 window 结束后再进行 这样可以把时间分散到
> window 里面
>

回复