单机Kafka测试
kafka安装参考:【Kafka】 Kafka安装(一)
环境介绍
电脑:Mac Pro笔记本(CPU i5:2核,内存:8G)
kafka版本:2.6.0
测试脚本:kafka自带脚本
1、测试topic创建与删除
(1)创建一个测试topic,名为test-topic。创建1个分区,1个副本
命令:./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test-topic
(2)查看一个topic
命令:./bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test-topic
(1)删除一个topic
命令:./bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test-topic
2、测试消息的生产与消费
Kafka默认提供的kafka-console-producer和kafka-console-consumer脚本。可以方便地用来测试消息的发送和读取。发送消息时,用户从键盘输入消息,按回车键后即表示发送该条消息。需要打开两个终端测试,一个用于发送消息,另一个用于消费消息
(1)打开生产端,用于发送消息
命令:./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
(2)打开消费端,消费消息
命令:./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning
(3)查看消费者组的offset情况
查询消费者组命令:./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list --all-groups
查询消费者组命令:./bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group perf-consumer-48111 --describe
3.生产者吞吐量测试
Kafka提供了性能吞吐量测试脚本,分别是kafka-producer-perf-test脚本和kafka-consumer-perf-test.kafka-producer-perf-test用于测试producer性能的脚本,该脚本可以计算出producer在一段时间内的吞吐量和平均延时
命令:./bin/kafka-producer-perf-test.sh --topic test-topic --num-records 10000000 --record-size 200 --throughput -1 --producer-props bootstrap.servers=localhost:9092 acks=-1
参数的含义:
- num-records:总共需要发送的消息数,本例为500000
- record-size:每个记录的字节数,本例为200
- throughput:每秒钟发送的记录数
可以看出Kafka producer的平均吞吐量是37.99MB/s,平均每秒能发送199195条消息,平均延时是775.83毫秒,最大延时是1528.00毫秒,平均有50%的消息发送需要花费696毫秒,95%的消息发送需要花费1219毫秒 等等。
4.消费者吞吐量测试
和kafka-producer-perf-test脚本类似,Kafka为consumer也提供不给了方便
命令:./bin/kafka-consumer-perf-test.sh --topic test-topic --messages 10000000 --broker-list=localhost:9092
参数:messages 消费条数
可以看出Kafka consumer的平均吞吐量是155.4916MB/s,平均每秒能发送815223.8315条消息,等等。