Bootstrap

kafka学习笔记7 性能测试 —— 筑梦之路

kafka 不同的参数配置对 kafka 性能都会造成影响,通常情况下集群性能受分区、磁盘和线程等影响因素,因此需要进行性能测试,找出集群性能瓶颈和最佳参数。

# 生产者和消费者的性能测试工具
kafka-producer-perf-test.sh
kafka-consumer-perf-test.sh

 kafka-producer-perf-test.sh:用于测试Kafka Producer的性能,主要输出4项指标,总共发送消息量(以MB为单位),每秒发送消息量(MB/second),发送消息总数,每秒发送消息数(records/second)。

kafka-consumer-perf-test.sh:用于测试Kafka Consumer的性能,测试指标与Producer性能测试脚本一样

测试准备

  • 前置条件:3 个Broker(节点),1个Topic(主题),3个Partition(分区),1 个 Replication(副本),异步模式,消息Payload为300字节,消息数量 5000万,kafka 版本为 3.9.2

  • 硬件配置:4 核 CPU,8G 内存,1T HDD 硬盘

  • 测试工具:Kafka自带的基准工具

生产者基准测试

bin/kafka-producer-perf-test.sh \
  --topic perf-test \
  --num-records 5000000 \
  --record-size 300 \
  --throughput -1 \
  --producer.config /opt/kafka/config/admin.properties \
  --print-metrics

参数说明:

--topic 指定topic

--num-records 指定生产数据量

--throughput 指定吞吐量(-1表示无限制)

--record-size record数据大小

--producer.config 指定 kafka 客户端配置文件路径

--print-metrics 打印结果指标值

消费者基准测试

bin/kafka-consumer-perf-test.sh \
  --topic perf-test \
  --messages 50000000 \
  --consumer.config /opt/kafka/config/admin.properties \
  --bootstrap-server 192.168.100.131:9092,192.168.100.132:9092,192.168.100.133:9092 \
  --print-metrics

;