java - Flink Dashboard:算子吞吐量
问题描述
我有一个使用 flink (1.9) 的程序,我想在仪表板的帮助下检查 Map 运算符实例的吞吐量。从已经存在的指标来看,numRecordsInPerSecond 似乎是最有希望的,但我想它不涉及处理时间。我错了吗?
我已经定义了自己的指标(吞吐量),它基本上通过将处理的记录数除以 OUT 映射(IN 值)函数的总执行时间来计算平均吞吐量。但这不包括在 map 函数之外发生的任何事情。
另一个想法是在 map 函数的末尾添加一个仪表,但我想如果源不能足够快地生成记录,那么计算的吞吐量会更糟,因为操作员很多时候都处于空闲状态。这个对吗?
请具体回答 1 和 2。另外,您通常如何计算程序中的吞吐量?
解决方案
Flink 的所有 Meter 指标,例如 numRecordsInPerSecond,都是根据处理时间来衡量速率。
我通常满足于依靠这些内置指标来衡量吞吐量。但是您可能想在接收器中添加自定义指标,因为 Flink 总是为 numRecordsOut 返回 0,而为接收器返回 numRecordsOutPerSecond。
推荐阅读
- sql - 在表 A 中插入新行时,另一行也插入到表 B 中
- python - Python manage.py runserver 不适用于项目(Django)
- c++ - 指针算术规则中的“可能假设”是什么意思?
- git - 推送到 Git 需要 4 个步骤,可以减少吗?
- javascript - 如何使重定向不是随机的并遵循顺序?
- css - 对于 inline-flex 容器,`flex: 0 0 120px` 不起作用,而 `width: 120px` 起作用。哪些 flexbox 规则指定了这种行为?
- typescript - 从具有指定类型的泛型函数中的道具是条件类型的类型中提取所有道具的最佳方法
- visual-studio - 无法使用 Visual Studio 2019 部署我的 Azure Web 应用程序
- java - Java用密码加密文件
- python - 如何使用 matplotlib 在一个轴上绘制带有日期的线条