Flink性能调优规则
及时对Hudi表进行compaction防止Hudi Source算子Checkpoint完成时间过长
当Hudi Source算子Checkpoint完成时间长时,可检查该Hudi表compaction是否正常。因为当长时间不做compaction时list性能会变差。
在事实表与维度表关联场景中可以按表设置TTL降低状态后端数据量
具体使用指导参考通过表级TTL进行状态后端优化。
合理设置并行度
任务运行的速度和并行度相关,一般来说提升并行度能有效提升读取的速度,但是过大的并行度可能导致部分节点资源的浪费,过小的并行度可能导致部分节点运行缓慢。对于SQL当前不能手动指定每个Task的并行度,指定的是所有Task统一的并行度。
推荐Source的并行度由上游组件推断设置,对于流系统,与上游的分区数相同(例如Kafka的Topic分区数);对于批系统,与上游的切片数相同(例如HDFS的block数量)。
Flink作业中有Source、Sink、中间计算算子的并行度可以调整。通过分析作业流图,如果发现是中间计算Busy就需要通过调整整个作业并行度来调整这类算子的并行度,常见的如join算子。