Flink反压定位算子

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink反压定位算子

nobleyd
如题,当前Flink任务反压情况下,基于Flink WebUI可以定位到反压算子C1的前一个算子B1。
但是B1的后续如果有很多个算子,比如C1、C2、C3、......、Cn。如何在C1-Cn之间定位问题算子呢?总不能不断拆分任务,去除部分算子排除法吧。


当前希望是通过metrics指标来看。但是,和buffer相关的指标,目前发现有很多指标恒定为0,感觉貌似是没统计,而不是实际值是0。
比如 0.buffers.inPoolUsage这类指标一直都是0。

请问这种case怎么解,怎么进一步定位?以及什么metric有效呢?
Reply | Threaded
Open this post in threaded view
|

回复:Flink反压定位算子

fanrui
Hi
可以查看所有 C 算子的 InPoolUsage 这个 Metric 来定位哪个 C有问题了。inPoolUsage高才会导致上游的 B反压
祝好🤞
fanrui



---原始邮件---
发件人: "赵一旦"<[hidden email]&gt;
发送时间: 2020年10月30日(周五) 下午5:43
收件人: "user-zh"<[hidden email]&gt;;
主题: Flink反压定位算子


如题,当前Flink任务反压情况下,基于Flink WebUI可以定位到反压算子C1的前一个算子B1。
但是B1的后续如果有很多个算子,比如C1、C2、C3、......、Cn。如何在C1-Cn之间定位问题算子呢?总不能不断拆分任务,去除部分算子排除法吧。


当前希望是通过metrics指标来看。但是,和buffer相关的指标,目前发现有很多指标恒定为0,感觉貌似是没统计,而不是实际值是0。
比如 0.buffers.inPoolUsage这类指标一直都是0。

请问这种case怎么解,怎么进一步定位?以及什么metric有效呢?
Reply | Threaded
Open this post in threaded view
|

Re: Flink反压定位算子

nobleyd
如我上一个email写的内容。inPool这种指标我懂,但是目前按照我的观察,这些指标默认都是0。不像是真实是0,而是貌似这些指标不生效就。flink是不是有什么开关,默认没做这个统计啊。

范瑞 <[hidden email]> 于2020年10月30日周五 下午5:49写道:

> Hi
> 可以查看所有 C 算子的 InPoolUsage 这个 Metric 来定位哪个 C有问题了。inPoolUsage高才会导致上游的 B反压
> 祝好🤞
> fanrui
>
>
>
> ---原始邮件---
> 发件人: "赵一旦"<[hidden email]&gt;
> 发送时间: 2020年10月30日(周五) 下午5:43
> 收件人: "user-zh"<[hidden email]&gt;;
> 主题: Flink反压定位算子
>
>
> 如题,当前Flink任务反压情况下,基于Flink WebUI可以定位到反压算子C1的前一个算子B1。
>
> 但是B1的后续如果有很多个算子,比如C1、C2、C3、......、Cn。如何在C1-Cn之间定位问题算子呢?总不能不断拆分任务,去除部分算子排除法吧。
>
>
> 当前希望是通过metrics指标来看。但是,和buffer相关的指标,目前发现有很多指标恒定为0,感觉貌似是没统计,而不是实际值是0。
> 比如 0.buffers.inPoolUsage这类指标一直都是0。
>
> 请问这种case怎么解,怎么进一步定位?以及什么metric有效呢?
Reply | Threaded
Open this post in threaded view
|

Re: Flink反压定位算子

nobleyd
我看了下,inputQueueLength和outputQueueLength是有值的。xxxPoolUsage都是0(包括exclusive,floating)。numBuffersInLocal这种也有值。还有的指标本身有值,带个PerSecond没值,这都不合理呀,比如指标A的值在几千,但指标AperSecond却是0。
明显存在很多指标固定为0,但是现在混淆在一起,不清楚是指标统计了,值为0,还是就没统计。


赵一旦 <[hidden email]> 于2020年10月30日周五 下午5:52写道:

>
> 如我上一个email写的内容。inPool这种指标我懂,但是目前按照我的观察,这些指标默认都是0。不像是真实是0,而是貌似这些指标不生效就。flink是不是有什么开关,默认没做这个统计啊。
>
> 范瑞 <[hidden email]> 于2020年10月30日周五 下午5:49写道:
>
>> Hi
>> 可以查看所有 C 算子的 InPoolUsage 这个 Metric 来定位哪个 C有问题了。inPoolUsage高才会导致上游的 B反压
>> 祝好🤞
>> fanrui
>>
>>
>>
>> ---原始邮件---
>> 发件人: "赵一旦"<[hidden email]&gt;
>> 发送时间: 2020年10月30日(周五) 下午5:43
>> 收件人: "user-zh"<[hidden email]&gt;;
>> 主题: Flink反压定位算子
>>
>>
>> 如题,当前Flink任务反压情况下,基于Flink WebUI可以定位到反压算子C1的前一个算子B1。
>>
>> 但是B1的后续如果有很多个算子,比如C1、C2、C3、......、Cn。如何在C1-Cn之间定位问题算子呢?总不能不断拆分任务,去除部分算子排除法吧。
>>
>>
>> 当前希望是通过metrics指标来看。但是,和buffer相关的指标,目前发现有很多指标恒定为0,感觉貌似是没统计,而不是实际值是0。
>> 比如 0.buffers.inPoolUsage这类指标一直都是0。
>>
>> 请问这种case怎么解,怎么进一步定位?以及什么metric有效呢?
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Flink反压定位算子

nobleyd
没有人有这方面经验分享下嘛?

赵一旦 <[hidden email]> 于2020年10月30日周五 下午5:59写道:

>
> 我看了下,inputQueueLength和outputQueueLength是有值的。xxxPoolUsage都是0(包括exclusive,floating)。numBuffersInLocal这种也有值。还有的指标本身有值,带个PerSecond没值,这都不合理呀,比如指标A的值在几千,但指标AperSecond却是0。
> 明显存在很多指标固定为0,但是现在混淆在一起,不清楚是指标统计了,值为0,还是就没统计。
>
>
> 赵一旦 <[hidden email]> 于2020年10月30日周五 下午5:52写道:
>
>>
>> 如我上一个email写的内容。inPool这种指标我懂,但是目前按照我的观察,这些指标默认都是0。不像是真实是0,而是貌似这些指标不生效就。flink是不是有什么开关,默认没做这个统计啊。
>>
>> 范瑞 <[hidden email]> 于2020年10月30日周五 下午5:49写道:
>>
>>> Hi
>>> 可以查看所有 C 算子的 InPoolUsage 这个 Metric 来定位哪个 C有问题了。inPoolUsage高才会导致上游的 B反压
>>> 祝好🤞
>>> fanrui
>>>
>>>
>>>
>>> ---原始邮件---
>>> 发件人: "赵一旦"<[hidden email]&gt;
>>> 发送时间: 2020年10月30日(周五) 下午5:43
>>> 收件人: "user-zh"<[hidden email]&gt;;
>>> 主题: Flink反压定位算子
>>>
>>>
>>> 如题,当前Flink任务反压情况下,基于Flink WebUI可以定位到反压算子C1的前一个算子B1。
>>>
>>> 但是B1的后续如果有很多个算子,比如C1、C2、C3、......、Cn。如何在C1-Cn之间定位问题算子呢?总不能不断拆分任务,去除部分算子排除法吧。
>>>
>>>
>>> 当前希望是通过metrics指标来看。但是,和buffer相关的指标,目前发现有很多指标恒定为0,感觉貌似是没统计,而不是实际值是0。
>>> 比如 0.buffers.inPoolUsage这类指标一直都是0。
>>>
>>> 请问这种case怎么解,怎么进一步定位?以及什么metric有效呢?
>>
>>