在 Debian 上测 Kafka 吞吐,通常不用自己写代码,直接用 Kafka 自带的压测脚本最方便。下面按「最常见做法 → 进阶用法」给你说明。
# 假设你已经装好:
# - JDK(8/11/17 都行)
# - Kafka(官方 tgz 包或 apt 装的 kafka)
cd /opt/kafka # 或 /usr/share/kafka
Kafka 自带两个关键脚本:
bin/kafka-producer-perf-test.sh → 测生产吞吐bin/kafka-consumer-perf-test.sh → 测消费吞吐bin/kafka-topics.sh \
--create \
--topic perf-test \
--partitions 6 \
--replication-factor 1 \
--bootstrap-server localhost:9092
⚠️ 吞吐和 partition 数强相关,建议 ≥ broker 数
bin/kafka-producer-perf-test.sh \
--topic perf-test \
--num-records 1000000 \
--record-size 1024 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092
| 参数 | 含义 |
|---|---|
--num-records |
发送多少条 |
--record-size |
每条大小(字节) |
--throughput -1 |
不限速(压满) |
acks=1 / all |
可加在 producer-props |
1000000 records sent, 250000 records/sec (244.14 MB/sec)
✅ MB/sec 就是你要的吞吐
bin/kafka-consumer-perf-test.sh \
--topic perf-test \
--bootstrap-server localhost:9092 \
--messages 1000000 \
--reporting-interval 1000
MB.rate=220.5
--producer-props \
compression.type=lz4 \
batch.size=65536 \
linger.ms=5 \
acks=1
--consumer.config client.properties
iostat -x 1
sar -n DEV 1
top / htop
kafkacat(apt install kafkacat)troposphere / kafka-go 自己写压测如果你愿意,可以告诉我:
我可以直接给你一套可复制的命令。