在Ubuntu上进行Kafka性能测试,可使用Kafka自带工具或第三方工具,以下是具体方法:
生产者性能测试
通过kafka-producer-perf-test.sh
脚本模拟不同消息大小、批次大小和压缩算法的生产场景,例如:
# 测试1KB消息,无压缩
./kafka-producer-perf-test.sh \
--topic test-topic \
--num-records 1000000 \
--record-size 1024 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092 \
--acks=1 --batch-size=65536 --compression.type=none
参数说明:--num-records
指定消息数量,--record-size
指定消息大小,--throughput
设为-1
表示不限制吞吐量。
消费者性能测试
使用kafka-consumer-perf-test.sh
脚本测试不同消费者线程数和分区数的消费能力,例如:
# 单线程消费100万条消息
./kafka-consumer-perf-test.sh \
--bootstrap-server localhost:9092 \
--topic test-topic \
--messages 1000000 \
--threads 1 --print-metrics
参数说明:--threads
指定消费者线程数,--print-metrics
可输出详细性能指标。
JMeter
通过Kafka插件模拟分布式压测,支持配置生产者/消费者参数、监控吞吐量和延迟,需先安装JMeter及Kafka插件。
Gatling
支持Kafka协议的高并发压测,可通过配置文件定义测试场景,适合复杂负载测试。
server.properties
(如调整num.network.threads
、log.dirs
等参数)。batch.size
可提升吞吐量,但可能增加延迟。参考资料: