1)Kafka压测
用Kafka官方自带的脚本,对Kafka进行压测。Kafka压测时,可以查看到哪个地方出现了瓶颈(CPU,内存,网络IO)。一般都是网络IO达到瓶颈。
kafka-consumer-perf-test.sh
kafka-producer-perf-test.sh
2)Kafka Producer压力测试
(1)在/opt/module/kafka/bin目录下面有这两个文件。我们来测试一下
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,表示不限流,可测出生产者最大吞吐量。
(2)Kafka会打印下面的信息
100000 records sent, 149253.731343 records/sec (14.23 MB/sec), 112.02 ms avg latency, 207.00 ms max latency, 97 ms 50th, 190 ms 95th, 206 ms 99th, 207 ms 99.9th.
参数解析:本例中一共写入10w条消息,吞吐量为14.23 MB/sec,每次写入的平均延迟为112.02毫秒,最大的延迟为207毫秒。
3)Kafka Consumer压力测试
Consumer的测试,如果这四个指标(IO,CPU,内存,网络)都不能改变,考虑增加分区数来提升性能。
kafka-consumer-perf-test.sh --broker-list hadoop102:9092,hadoop103:9092,hadoop104:9092 --topic test --fetch-size 10000 --messages 10000000 --threads 1 --timeout 60000
参数说明:
--zookeeper 指定zookeeper的链接信息
--topic 指定topic的名称
--fetch-size 指定每次fetch的数据的大小
--messages 总共要消费的消息个数
--timeout 超时时间
测试结果说明:
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec
2020-03-10 03:18:51:773, 2020-03-10 03:18:53:815, 19.0735, 9.3406, 200000, 97943.192
开始测试时间,测试结束数据,共消费数据19.0735MB,吞吐量9.3406MB/s,共消费200000条,平均每秒消费97943.192条。
————————————————
版权声明:本文为CSDN博主「asd623444055」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/asd623444055/article/details/123829460