调优原则
- Flink的yahoo-streaming-benchmark测试涉及Kafka、Flink、Redis 3个组件,测试Flink需同时调整Kafka参数,但Flink是测试主体,因此Kafka的参数无需调整至最优状态,尽量将CPU的算力分给Flink使用。
- Flink在网络、磁盘等各项资源均未达到瓶颈的情况下,吞吐量也会达到瓶颈,且吞吐量和测试数据量之间存在正比关系。可以先测试最大数据量,初步估计当前环境的吞吐量瓶颈,再改数据量上下调整,获得较好的性能结果。
- 调优主要参数有:
- Kafka、Redis、ZooKeeper所在节点IP地址、端口。
- Topic:即Kafka Topic名称,每次运行修改名称即可。
- PARTITIONS:即Kafka分区数,比较关键的参数,分区数与Flink的并发度必须保持一致,所以调试Flink性能主要需要修改该参数。
- LOAD:数据量,该值直接决定了吞吐量大小,调整该值可以测出一定时延下最大可达到的吞吐量值。
- TEST_TIME:测试时间,一般典型值为240s。
- -p :Flink run时附带的参数,即并发度,必须小于等于PARTITIONS,一般两者取值相等。
这些参数在配置完成后,大部分会写入到local_conf.yaml配置文件中,供Flink执行时读取。
父主题: 调优概述