searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Flink的调优法则

2023-05-30 01:17:49
7
0

1、 性能定位

1. 看背压 前面都没反压,第一个出现反压的算子或者前面都是反压,第一个不是反压的算子
      背压要增大并发度,或者优化程序;
2. 看checkoint时长 checkpoint的时长在一定程度上可以影响job的整体吞吐
       数据量很大,适当增大ck的间隔
3. 查看关键指标 通过延迟与吞吐指标可以对任务的性能进行精准的判断
4. 资源利用率 我们进行优化的最终目的是提供资源的利用率。
  TaskManager的资源利用率低,降低TaskManager的内存配置;保持资源利用率在70%-90%
常见的性能问题如下:
  • JSON序列化与反序列化
常出现在source和sink任务上,在指标上没有体现,容易被忽略
  • Map和set的Hash冲突
由于HashMap,HashSet等随着负载因子增高,引起的插入和查询性能下降。
  • 数据倾斜
数据倾斜会导致其中一个或者多个subtask处理的数据量远大于其他节点,造成局部数据延迟。
  • 和低速系统的交互
在实时系统进行高速数据处理时,当涉及到与外部低俗的系统(如Mysql,Hbase等)进行数据交互时。
  • 频繁的GC
因内存或者内存比例分配不合理导致频繁GC, 甚至是TaskManager失联
  • 大窗口
窗口size大,数据量大,或者是滑动窗口size和step的比值比较大,如size=10minmatch, step=1。
0条评论
0 / 1000
张****领
4文章数
0粉丝数
张****领
4 文章 | 0 粉丝
张****领
4文章数
0粉丝数
张****领
4 文章 | 0 粉丝
原创

Flink的调优法则

2023-05-30 01:17:49
7
0

1、 性能定位

1. 看背压 前面都没反压,第一个出现反压的算子或者前面都是反压,第一个不是反压的算子
      背压要增大并发度,或者优化程序;
2. 看checkoint时长 checkpoint的时长在一定程度上可以影响job的整体吞吐
       数据量很大,适当增大ck的间隔
3. 查看关键指标 通过延迟与吞吐指标可以对任务的性能进行精准的判断
4. 资源利用率 我们进行优化的最终目的是提供资源的利用率。
  TaskManager的资源利用率低,降低TaskManager的内存配置;保持资源利用率在70%-90%
常见的性能问题如下:
  • JSON序列化与反序列化
常出现在source和sink任务上,在指标上没有体现,容易被忽略
  • Map和set的Hash冲突
由于HashMap,HashSet等随着负载因子增高,引起的插入和查询性能下降。
  • 数据倾斜
数据倾斜会导致其中一个或者多个subtask处理的数据量远大于其他节点,造成局部数据延迟。
  • 和低速系统的交互
在实时系统进行高速数据处理时,当涉及到与外部低俗的系统(如Mysql,Hbase等)进行数据交互时。
  • 频繁的GC
因内存或者内存比例分配不合理导致频繁GC, 甚至是TaskManager失联
  • 大窗口
窗口size大,数据量大,或者是滑动窗口size和step的比值比较大,如size=10minmatch, step=1。
文章来自个人专栏
Flink的学习
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0