kafka生产者和消费者吞吐量测试-kafka商业环境实战
版权声明:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。版权声明:禁止转载,欢迎学习。
kafka线上真实环境实战及调优进阶系列
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 结语
秦凯新 于深圳 2018-10-28