如何理解 UI 上显示的背压状态
How to understand the backpressure status shown on the UI
我正在使用 Flink 1.10,我有一个简单的 flink 应用程序,
- 从Kafka读取数据
- 处理数据(简单的一对一映射)
- 汇入数据库
当我查看 UI 上的背压状态时,它显示:
Operator BackPresure
Source High
Map High
Sink OK
请问,鉴于上述背压状态,瓶颈是哪一部分?我认为sink operator是瓶颈,写到DB,但我不明白为什么它的BackPresure状态是OK
事实上,Sink 可能是您程序中的限制因素,也是导致背压的因素。
在 1.13/1.14 中,他们更改了术语:背压 UI 已修改;而不是谈论 'Backpressure' 作为运算符,他们谈论它是 'Backpressured' 或其 'Backpressure status'.
在您的情况下,Sink 不会受到背压(根据定义,任何 sink 都不可能),但 Source 和 Map 运算符会。
除了Backpressure(衡量输出缓冲区的可用性)之外,新版本还增加了Idleness(由是否有可用输入决定)的新概念。恕我直言,这将有助于确定它的网络 IO 或 CPU 是否是程序的限制因素。
这是它的样子:
https://ci.apache.org/projects/flink/flink-docs-master/docs/ops/monitoring/back_pressure/
我正在使用 Flink 1.10,我有一个简单的 flink 应用程序,
- 从Kafka读取数据
- 处理数据(简单的一对一映射)
- 汇入数据库
当我查看 UI 上的背压状态时,它显示:
Operator BackPresure
Source High
Map High
Sink OK
请问,鉴于上述背压状态,瓶颈是哪一部分?我认为sink operator是瓶颈,写到DB,但我不明白为什么它的BackPresure状态是OK
事实上,Sink 可能是您程序中的限制因素,也是导致背压的因素。
在 1.13/1.14 中,他们更改了术语:背压 UI 已修改;而不是谈论 'Backpressure' 作为运算符,他们谈论它是 'Backpressured' 或其 'Backpressure status'.
在您的情况下,Sink 不会受到背压(根据定义,任何 sink 都不可能),但 Source 和 Map 运算符会。
除了Backpressure(衡量输出缓冲区的可用性)之外,新版本还增加了Idleness(由是否有可用输入决定)的新概念。恕我直言,这将有助于确定它的网络 IO 或 CPU 是否是程序的限制因素。
这是它的样子:
https://ci.apache.org/projects/flink/flink-docs-master/docs/ops/monitoring/back_pressure/