full gc频繁有什么问题_【Flink 精选】常见的性能问题及其定位思路

c09f57647764a62db26e5a71eaa52e4b.png

常见的性能问题及其定位思路


1.常见的性能问题

(1)JSON序列化和反序列化

source的序列化,sink的反序列化

(2)MAP和SET的hash冲突

MAP和SET的负载因子随着数据的增大而变大,使得hash冲突的几率大大增加,导致了插入和查询效率严重下降。

(3)数据倾斜

数据分布原理符合“二八原理”,即一般情况下数据的分布是不均匀的。如果数据分布严重不均匀,则出现数据倾斜,导致大量的数据集中在某个Subtask。数据倾斜不但导致 job 的性能和吞吐量下降,而且可能使得JVM 的内存资源短缺导致频繁 GC,严重的情况可以导致TaskManager的失联。

(4)外部低速系统交互

sink 对接的外部低速系统,例如 Mysql、Hbase 等,不支持高写入量。如果 sink 的数据量剧增,严重的可能导致外部低速系统的崩溃。

(5)频繁GC

JVM 内存不足或者分配不合理,频繁 GC,甚至 TaskManager 的失联。

(6)大窗口

滚动窗口大小过大、滑动窗口的大小和滑动距离过小、数据量大,可能导致缓存数据量太大,使得 JVM 内存不足甚至 GC,还可能导致 checkpoint 时间变大甚至超时。

c598c9e6a89420ab04d564e33c37328a.png
常见性能问题

2.问题的定位思路

定位口诀:一压二查三指标,延迟吞吐是核心。时刻关注资源量 , 排查首先看GC。

(1)看反压

通常最后一个反压的 Subtask,其下游就是反压的源头,即 job 的瓶颈。

(2)看checkpoint时长

checkpoint 时长影响 job 整体吞吐

(3)看核心指标

延迟、吞吐是最重要的指标。

(4)资源的使用率

提高资源利用率是最终目的。

788e1f3be5d4ad19518f120a3ffef699.png
定位思路
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值