首页 > 解决方案 > Flink Dashboard:算子吞吐量

问题描述

  1. 我有一个使用 flink (1.9) 的程序,我想在仪表板的帮助下检查 Map 运算符实例的吞吐量。从已经存在的指标来看,numRecordsInPerSecond 似乎是最有希望的,但我想它不涉及处理时间。我错了吗?

  2. 我已经定义了自己的指标(吞吐量),它基本上通过将处理的记录数除以 OUT 映射(IN 值)函数的总执行时间来计算平均吞吐量。但这不包括在 map 函数之外发生的任何事情。

  3. 另一个想法是在 map 函数的末尾添加一个仪表,但我想如果源不能足够快地生成记录,那么计算的吞吐量会更糟,因为操作员很多时候都处于空闲状态。这个对吗?

请具体回答 1 和 2。另外,您通常如何计算程序中的吞吐量?

在此处输入图像描述

标签: javaapache-flinkdashboardmetrics

解决方案


Flink 的所有 Meter 指标,例如 numRecordsInPerSecond,都是根据处理时间来衡量速率。

我通常满足于依靠这些内置指标来衡量吞吐量。但是您可能想在接收器中添加自定义指标,因为 Flink 总是为 numRecordsOut 返回 0,而为接收器返回 numRecordsOutPerSecond。


推荐阅读