kafka生产者和消费者吞吐量测试-kafka 商业环境实战

6,671 阅读1分钟

1. kafka生产者吞吐量测试指标

kafka-producer-perf-test :是kafka提供的测试Producer性能脚本,通过脚本,可以计算出Producer在一段时间内的平均延时和吞吐量。

1.1 kafka-producer-perf-test

在kafka安装目录下面执行如下命令,生产环境中尽量让脚本运行较长的时间,才会有意义:

bin/kafka-producer-perf-test.sh --topic test --num-records 500000 --record-size 200 --througthput -1 --producer-props bootstrap.servers=bd-master:9092,bd-slave1=9092,bd-slave3=9092 acks=1

1.2 测试结果分析如下:

500000 records sent ,41963 records/sec (8.00 MB/sec),2362.85 ms/avg latency ,3513.00 ms max latency ,2792ms 50h ,3144ms 95th ,3364 ms 99h,3503ms 99.9th

看到上面的结果肯定蒙了,看我细细讲来: kafka 的平均吞吐量是8.00 MB/sec ,即占用64Mb/s左右的带宽,平均每一秒发送41963条消息。平均延时为2362.85 ms,最大延时为3513.00 ms,95%的消息发送需要3144ms,99%的消息发送需要3364ms,99.9%的消息发送需要3503ms。

2. kafka消费者吞吐量指标说明:

2.1 kafka-consumer-perfs

我们总共测试500万条数据量 bin/kafka-consumer-perfs-test.sh --broker-list bd-master:9092,bd-slave1=9092,bd-slave3=9092 --message-size 200 --messages 500000 --topic test

2.2 得到如下结果:

2018-10-28 9:39:02 95.4188 92.2313 500271 484289 看到上面的结果肯定蒙了,看我细细讲来: 该环境下,1s内总共消费了95.4188MB消息,吞吐量为92.2313MB/s,也即736Mb/s。

3 结语