测试集群配置:

三台4核cpu/8G内存/50G硬盘的CentOS7机器

Kafka版本:Kafka_2.11-0.11.0.1

kafka生产者吞吐量测试

使用kafka-producer-perf-test测试脚本,总共测试50万条数据量

1
bin/kafka-producer-perf-test.sh --topic test --num-records 500000 --record-size 200 --throughput -1 --producer-props bootstrap.servers=kafka01:9092,kafka02:9092,kafka03:9092 acks=1

测试结果分析如下:

1
500000 records sent ,180701.120347 records/sec (34.47 MB/sec),315.17 ms/avg latency ,982.00 ms max latency ,167ms 50h ,902ms 95th ,969 ms 99h, 981ms 99.9th

测试结果显示:

发送了500000条消息,kafka 的平均吞吐量是34.47 MB/sec ,即占用275Mb/s左右的带宽,平均每秒发送180701条消息。

平均延时为315 ms,最大延时为982 ms,

发送50%的消息需要167ms,发送95%的消息需要902ms,发送99%的消息需要969ms,发送99.9%的消息需要981ms。

kafka消费者吞吐量测试

使用kafka-consumer-perf-test测试脚本,总共测试50万条数据量

1
bin/kafka-consumer-perf-test.sh --broker-list kafka01:9092,kafka02:9092,kafka03:9092 --message-size 200 --messages 500000 --topic test

测试结果分析如下:

1
2019-09-18 17:56:41:388, 2019-09-18 17:56:43:906, 95.3674, 37.8743, 500000, 198570.2939

看测试结果显示:

消费了95.3674MB消息,吞吐量为37.8743MB/s,也即303Mb/s,

消费了500000条消息,吞吐量为198570条/s