前言
想简单测试一下刚搭建的kafka的性能怎么样?
可以使用自带的测试程序进行简单的测试!
创建测试topic
/opt/kafka_2.12-0.11.0.1
bin/kafka-topics.sh --zookeeper=localhost:2181 --create --topic test --replication-factor 1 --partitions 1
producer吞吐率
只测producer的吞吐率,也就是数据只被持久化,没有consumer读数据。
使用官方提供的测试工具kafka-producer-perf-test.sh来测试。
kafka-producer-perf-test.sh中参数说明:
topic:生产者发送的topic
num-records:生产者发送总的消息数量
payload-delimiter :payload-file文件里面的分割符,默认是换行符
throughput:每秒发送消息的限制
producer-props:指定kafka生产者的配置,这个配置优先与producer.config
transactional-id:事务ID,在测试事物的时候会用到
transaction-duration-ms:事物持续时间
record-size:每条消息的大小
payload-file:测试消费文件
运行测试命令:
./bin/kafka-producer-perf-test.sh --topic test --throughput 100000 --num-records 100000 --producer-props bootstrap.servers=localhost:9092 --record-size 1000
consumer吞吐率
使用官方提供的测试工具kafka-consumer-perf-test.sh来测试。
kafka-consumer-perf-test.sh中参数说明:
zookeeper:zookeeper端口配置
messages:消费者消费消息总数量
topic:消费者需要消费的topic
threads:消费者使用几个线程同时消费
group:消费者组名称
socket-buffer-sizesocket: 缓冲大小
fetch-size :每次向kafka broker请求消费大小
运行测试命令:
bin/kafka-consumer-perf-test.sh --zookeeper localhost:2181 --messages 100000 --topic test --threads 1
总结
这个只是单节点的简单测试,可以根据自己的集群情况进行参数调整。可以写成脚本,同时进行生产和消费来测试性能。
网友评论