可以通过监控GC(Garbage Collection),评估内存使用及剩余情况来判断内存是否变成性能瓶颈,并根据情况优化。 监控节点进程的YARN的Container GC日志,如果频繁出现Full GC,需要优化GC。 GC的配置:在客户端的"conf/flink-conf.yaml"配置文件中,在“env.java.opts”配置项中添加参数: 代码语言:javascript 复制 -Xloggc:<...
Flink 内置的 Distinct 聚合优化参数table.optimizer.distinct-agg.split.enabled,通过将 Key 相同的记录,分到不同的 BUCKET(桶) 中去,BUCKET 默认数量为 1024,可以通过参数table.optimizer.distinct-agg.split.bucket-num配置,配置 Split Distinct 聚合优化参数后,上面 SQL 会被转成: 代码语言:javascript 复制 SELECT...
注意 Flink 将这两个参数合二为一处理(对应 DBOptions.setIncreaseParallelism() 方法),鉴于 flush 和 compaction 都是相对重的操作,如果 CPU 余量比较充足,建议调大,在我们的实践中一般设为4。结语 除了上述设置参数的方法之外,用户还可以通过实现 ConfigurableRocksDBOptionsFactory 接口,创建 DBOptions 和 Co...
使用更小的并行度:并行度越大,需要的内存越多,使用更小的并行度来减少内存的使用量。 3 配置Flink运行参数 3.1 运行命令 以yarn-cluster的运行模式为例进行说明。 运行命名及参数说明 flink run -m yarn-cluster -ys 2 -p 1 -yjm 1G -ytm 2G 可以用下面的命令,查看相关的参数及说明 flink run -help 3.2...
Ø LocalGlobal 开启方式: 1) LocalGlobal 优化需要先开启 MiniBatch,依赖于 MiniBatch 的参数。 2) table.optimizer.agg-phase-strategy: 聚合策略。默认 AUTO,支持参数 AUTO、 TWO_PHASE(使用 LocalGlobal 两阶段聚合)、ONE_PHASE(仅使用 Global 一阶段聚合)。
优化反压算子的业务逻辑代码 调用外部系统使用AsyncFunction 增大TM的内存资源 增大反压算子的并行度 减少反压上游算子的并行度 分区空闲检测 Barrier对齐环节(一个算子有多个input)需要收集齐各个input的watermark才放行数据,如果某一个input的数据量很少,导致该input迟迟收不到watermark,则整个数据链路会被阻塞。
1、Flink可用优化参数 1. 表参数 Memory Parallelism Compaction 只适用于online compaction 2、Flink内存优化 1. 内存参数 2. MOR state backend 换成 rocksdb (默认的 in-memory state-backend 非常吃内存) 内存够的话,compaction.max_memory 调大些 (默认是 100MB 可以调到 1GB) ...
参数调整说明 您只需调整parallelism、core和heap_memory三个参数,即能满足大部分的资源调优需求。 Parallelism source节点 资源根据上游Partition数来。例如source的个数是16,那么source的并发可以配置为16、8、4等。不能超过16。 中间节点 根据预估的QPS计算。对于数据量较小的任务,设置和source相同的并发度。QPS高的...
全局优化您的作业,解决作业吞吐量不足、全链路存在反压和资源浪费等各种性能调优问题。 默认的智能调优行为,请参见智能调优默认调优行为。 开启智能调优功能,请参见开启并配置智能调优。 定时调优 定时调优计划描述了资源和时间点的对应关系,一个定时调优计划中可以包含多组资源和时间点的关系。
全局优化您的作业,解决作业吞吐量不足、全链路存在反压和资源浪费等各种性能调优问题。 默认的智能调优行为,请参见智能调优默认调优行为。 开启智能调优功能,请参见开启并配置智能调优。 定时调优 定时调优计划描述了资源和时间点的对应关系,一个定时调优计划中可以包含多组资源和时间点的关系。