在 Debian 上测试 Kafka 性能,通常是从吞吐量(throughput)、延迟(latency)和稳定性几个维度来做。下面给你一套实用、可操作的方案,适合在 Debian 服务器上直接执行。
sudo apt update
sudo apt install -y openjdk-17-jdk wget screen htop iotop
# 启动 Zookeeper(老版本)或 KRaft(新版本)
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
确认 Kafka 正常运行:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
Kafka 自带两个官方压测脚本,非常适合快速验证性能。
bin/kafka-producer-perf-test.sh \
--topic test-perf \
--num-records 1000000 \
--record-size 1024 \
--throughput -1 \
--producer-props bootstrap.servers=localhost:9092 acks=1
参数说明:
--num-records:发送消息总数--record-size:单条消息大小(字节)--throughput -1:不限速,测最大吞吐acks=1:常用生产配置输出示例关注:
records/sec: 120000
MB/sec: 117.18
bin/kafka-consumer-perf-test.sh \
--topic test-perf \
--bootstrap-server localhost:9092 \
--messages 1000000 \
--reporting-interval 1000
关注指标:
--record-size 4096
--throughput -1
--record-size 256
--throughput 50000
acks=all
min.insync.replicas=2
htop
iostat -x 1
iotop
关注:
%utilawaitiftop
kafka-exporter可监控:
适合业务级压测
bin/trogdor.sh
| 瓶颈 | 表现 | 解决 |
|---|---|---|
| 磁盘 IO | iowait 高 | 换 SSD |
| 网络 | 带宽跑满 | 多网卡 |
| JVM | GC 频繁 | 调整堆内存 |
| 分区少 | 吞吐上不去 | 增加分区 |
✅ 正常:
❌ 异常:
如果你愿意,可以告诉我:
我可以给你定制测试命令和参数。