Flink性能调优(一)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink性能调优(一)相关的知识,希望对你有一定的参考价值。

参考技术A Flink是依赖内存计算,计算过程中内存不够对Flink的执行效率影响很大。可以通过监控GC(Garbage Collection),评估内存使用及剩余情况来判断内存是否变成性能瓶颈,并根据情况优化。
监控节点进程的YARN的Container GC日志,如果频繁出现Full GC,需要优化GC。

GC的配置:在客户端的“conf/flink-conf.yaml”配置文件中,在“env.java.opts”配置项中添加参数:“

此处默认已经添加GC日志。

任务的并行度可以通过以下四种层次(按优先级从高到低排列)指定,用户可以根据实际的内存、CPU、数据以及应用程序逻辑的情况调整并行度参数。

您可以根据实际任务数量的多少,为JobManager设置一个合适的内存。
•在使用yarn-session命令时,添加“-jm MEM”参数设置内存。
•在使用yarn-cluster命令时,添加“-yjm MEM”参数设置内存。

每个TaskManager每个核同时能跑一个task,所以增加了TaskManager的个数相当于增大了任务的并发度。在资源充足的情况下,可以相应增加TaskManager的个数,以提高运行效率。
•在使用yarn-session命令时,添加“-n NUM”参数设置TaskManager个数。
•在使用yarn-cluster命令时,添加“-yn NUM”参数设置TaskManager个数。

每个TaskManager多个核同时能跑多个task,相当于增大了任务的并发度。但是由于所有核共用TaskManager的内存,所以要在内存和核数之间做好平衡。
•在使用yarn-session命令时,添加“-s NUM”参数设置SLOT数。
•在使用yarn-cluster命令时,添加“-ys NUM”参数设置SLOT数。

TaskManager的内存主要用于任务执行、通信等。当一个任务很大的时候,可能需要较多资源,因而内存也可以做相应的增加。
•将在使用yarn-sesion命令时,添加“-tm MEM”参数设置内存。
•将在使用yarn-cluster命令时,添加“-ytm MEM”参数设置内存。

以上是关于Flink性能调优(一)的主要内容,如果未能解决你的问题,请参考以下文章

Flink性能调优总结

Flink 流式聚合性能调优指南

Flink 流式聚合性能调优指南

Flink Table API & SQL 聚合性能调优

rocksdb性能调优

Flink 的datastreamAPI 以及function函数的调用,性能调优