@
目录
用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈==(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。 == 使用下面两个kafka自带的脚本
kafka-consumer-perf-test.sh
kafka-producer-perf-test.sh
进入kafka的安装目录,执行下面的命令
[sun@hadoop102 kafka]$ bin/kafka-producer-perf-test.sh --topic test --record-size 100 --num-records 100000 --throughput -1 --producer-props bootstrap.servers=hadoop102:9092,hadoop103:9092,hadoop104:9092
说明:
record-size
是一条信息有多大,单位是字节。num-records
是总共发送多少条信息。throughput
是每秒多少条信息,设成-1,表示不限流,可测出生产者最大吞吐量。输出:
参数解析:本例中一共写入10w条消息,吞吐量为1.45 MB/sec,每次写入的平均延迟为1718.17毫秒,最大的延迟为3564.00毫秒。
Consumer的测试,如果这四个指标(IO,CPU,内存,网络)都不能改变,考虑增加分区数来提升性能。 进入kafka的安装目录,执行下面的命令
[sun@hadoop102 kafka]$ bin/kafka-consumer-perf-test.sh --broker-list hadoop102:9092,hadoop103:9092,hadoop104:9092 --topic test --fetch-size 10000 --messages 10000000 --threads 1
参数说明:
--zookeeper
指定zookeeper的链接信息
--topic
指定topic的名称
--fetch-size
指定每次fetch的数据的大小
--messages
总共要消费的消息个数
输出:
start.time
开始时间:2021-01-27 13:55:20:963end.time
结束时间:2021-01-27 13:55:36:555data.consumed.in.MB
共消费数据:22.1497MBMB.sec
吞吐量:1.4206MB/secdata.consumed.in.nMsg
共消费消息条数:232256条nMsg.sec
平均每秒消费条数:14895.8440条