You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by cs <58...@qq.com> on 2020/06/24 08:11:25 UTC

回复:如何快速定位拖慢速度的 operator

1. 在operator后面disableChaining,这样你就可以定位具体是哪个operator产生的背压
2. 打印几次tm进程的堆栈轨迹,看看哪个方法比较耗时




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"徐骁"<ffxrqyzby@gmail.com&gt;;
发送时间:&nbsp;2020年6月24日(星期三) 下午3:11
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;如何快速定位拖慢速度的 operator



平常经常遇到这个问题, 特来求助下,&nbsp; 平常任务基本都是共享 default slot 的, 所以在 web 上显示的是一整块,
当任务出现问题可以看到被压, 但是很难定位是里面的哪个 operator 出问题了
有没有什么方法能快速的定位出问题的 operator, 想问问大家平时怎么做的

Re: 如何快速定位拖慢速度的 operator

Posted by zhisheng <zh...@gmail.com>.
Hi 徐骁,

可以在 Flink Web UI 的 metric 那里添加每个算子的 in 和 out 的速度进行对比,然后知道到底是哪个算子处处理较慢,eg:

http://zhisheng-blog.oss-cn-hangzhou.aliyuncs.com/2020-06-25-081928.png

可以看下上面图中的测试就是一个 operator chain 在一起的作业,可以看到每个算子并行度的进出流速。

Best !
zhisheng

徐骁 <ff...@gmail.com> 于2020年6月25日周四 上午12:51写道:

> 两个方法确实可以, 但是要追踪起来很废时间, 对小白太不友好啊
>

回复: 如何快速定位拖慢速度的 operator

Posted by "aven.wu" <da...@163.com>.
如果算子都在一个group里面的话确实在webui上不好看出背压问题,可以将operator chain 拆开。

• StreamExecutionEnvironment.disableOperatorChaining():关闭整个Job的OperatorChain
• someStream.filter(...).map(...).startNewChain().map():startNewChain()是指从当前Operator[map]开始一个新的chain,即:两个map会chaining在一起而filter不会(因为startNewChain的存在使得第一次map与filter断开了chain)。
• someStream.map(...).disableChaining():disableChaining()是指当前Operator[map]禁用OperatorChain,即:Operator[map]会独自占用一个Task。
• someStream.map(...).slotSharingGroup("name"):默认情况下所有Operator的slotGroup都为default,可以通过slotSharingGroup()进行自定义,Flink会将拥有相同slotGroup名称的Operators运行在相同Slot内,不同slotGroup名称的Operators运行在其他Slot内。
希望对你有帮助

Best
Aven

发件人: 徐骁
发送时间: 2020年6月28日 10:16
主题: Re: 如何快速定位拖慢速度的 operator

好的 感谢两位我试试

Sun.Zhu <17...@163.com> 于2020年6月25日周四 下午11:19写道:

> 虽然chain在一起,但是可以通过metrics中看出来各个算子的各项指标的
> | |
> Sun.Zhu
> |
> |
> 17626017841@163.com
> |
> 签名由网易邮箱大师定制
>
>
> 在2020年06月25日 00:51,徐骁<ff...@gmail.com> 写道:
> 两个方法确实可以, 但是要追踪起来很废时间, 对小白太不友好啊
>


Re: 如何快速定位拖慢速度的 operator

Posted by 徐骁 <ff...@gmail.com>.
好的 感谢两位我试试

Sun.Zhu <17...@163.com> 于2020年6月25日周四 下午11:19写道:

> 虽然chain在一起,但是可以通过metrics中看出来各个算子的各项指标的
> | |
> Sun.Zhu
> |
> |
> 17626017841@163.com
> |
> 签名由网易邮箱大师定制
>
>
> 在2020年06月25日 00:51,徐骁<ff...@gmail.com> 写道:
> 两个方法确实可以, 但是要追踪起来很废时间, 对小白太不友好啊
>

回复: 如何快速定位拖慢速度的 operator

Posted by "Sun.Zhu" <17...@163.com>.
虽然chain在一起,但是可以通过metrics中看出来各个算子的各项指标的
| |
Sun.Zhu
|
|
17626017841@163.com
|
签名由网易邮箱大师定制


在2020年06月25日 00:51,徐骁<ff...@gmail.com> 写道:
两个方法确实可以, 但是要追踪起来很废时间, 对小白太不友好啊

Re: 如何快速定位拖慢速度的 operator

Posted by 徐骁 <ff...@gmail.com>.
两个方法确实可以, 但是要追踪起来很废时间, 对小白太不友好啊