kafka的性能测试

性能测试可进行分区数测试,生产和消费压力测试等
压力测试都是针对整个集群的,如果想测试单节点的性能,可以创建topic指定分区都在同一节点进行测试

1:生产者压测

kafka-topics-perf-test.sh --topic test --num-records 100000 --record-size 1000 --throughput -1 --producer.config ../config/producer.properties
 --num-records:生产的条数
  --record-size每条消息的大小,bytes
  --throughput :每秒发送的条数,-1是不限速

可以看到最终的生产速度。性能瓶颈可能是网络,cpu,内存,分区数等等
单节点速度测试

即指定一个服务器的broker.id进行创建
kafka-topics.sh --zookeeper ip:port --topic test --replica-assignment 3,3,3,3
创建后查看,发现都在同一服务器,随后进行压测就是同一节点的生产速度和消费速度
kafka-topics.sh --zookeeper ip:port --topic test  --describe

2:消费者压测

./bin/kafka-consumer-perf-test.sh  --broker-list ip:port  --messages 2000000   --topic test --new-consumer --consumer.config ../config/consumer.properties
版本可以用bin/kafka-consumer-perf-test.sh --help查看具体使用

3:分区数性能测试

1:先创建测试的多个topic
2:生产者测试:bin/kafka-producer-perf-test.sh --topic topic --num-records 1000000 --record-size 20480 --throughput 30000 --producer-props bootstrap.servers=“server01” acks=1
3:消费测试:bin/kafka-consumer-perf-test.sh --topic test5 --messages 100000 --broker-list “kafka-node1,kafka-node2”

4:如何选择合适的partition数量

需要根据生产或者消费的吞吐量进行评估,消费的吞吐量瓶颈一般在消息的逻辑处理速度

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐