鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

Flink任务参数调整

目的

使用yahoo- streaming-benchmark工具测试时,测试脚本中也有相关Flink配置需要修改,这些配置都在stream-bench-hdp.sh里,需要对这些参数根据实际情况调整。

方法

在stream-bench-hdp.sh文件中搜索以下参数并修改:

参数

建议值

描述

Partitions

Kafka服务节点上磁盘数目的2~3倍。

该值为Kafka的分区数目,但在修改该值的同时,必须同步修改Flink任务启动时的两个并发度值。这是因为前面那个Flink任务是Flink随机生成数据,并且写入Kafka中,所以Flink并发度必须<=Kafka的Partitions数目,不然将会无法写入。而后者是Flink消费Kafka数据,虽然并发度不受Partitions数目限制,但尽量将Flink两个任务并发度保持一致进行测试。由于Flink在向Yarn提交任务的时候,已经将slot、内存、taskmanager等分配完毕,所以此时Flink能够利用的资源是有限的。而-p后的并发度参数,就是需要占用taskmanager slot的参数。该用例需要两个进程同时运行,所以Partitions参数不能超过总slot的1/2。即Partitions <= -n(taskmanager) * -s(slot) / 2, 并发度对Flink性能的影响是比较大的,而且也没有太清晰的规律。一般来说,随Partitions增加,时延的变化是先降低,再到一个平台期,最后再上升。

Load

根据实际调整。

数据量,该值唯一控制了单位时间的吞吐量,而当TEST_TIME固定的时候,设置Load即设置了该次用例运行的吞吐量(在Flink引擎足够处理的情况下)。所以Flink测试的性能数据有两种观察方式。

  • 固定Load看时延大小。
  • 固定时延看最大能将Load加到多大。目前比较通用的都是该方式,即调整Load。

TOPIC

ad-event{$partitions}

该参数即为Kafka topic名称,不同的partition数目,必须修改不同的topic名称,一般采取ad-event{$partitions}的命名方式以避免重复。

TEST_TIME

240

测试时间,一般都固定时间为240s。