---
title: Flink任务参数调整
description: "使用yahoo-streaming-benchmark工具测试时，测试脚本中也有相关Flink配置需要修改，这些配置都在stream-bench-hdp.sh里，需要对这些参数根据实际情况调整。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Flink/kunpengflinkhdp_05_0019.html
sourcePath: /source/zh/kunpengbds/ecosystemEnable/Flink/kunpengflinkhdp_05_0019.html
indexId: 1be808d1ef41d4029b69fc070a57a432e0a5a0f76d121f3eba2a6077701b7c6472
---
# 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。 |
