Linux 上 Kafka 的性能总体非常优秀,这也是它成为主流消息中间件的核心原因。下面从 性能表现、影响因素、调优建议 几个角度给你一个比较系统的说明。
在 普通 Linux 服务器 上:
✅ Kafka 是为 Linux 设计的,性能比在 Windows 上好很多
sendfile() 系统调用| 项目 | 建议 |
|---|---|
| CPU | 多核(8C+) |
| 内存 | 32GB+(Page Cache 用) |
| 磁盘 | SSD 更好,HDD 也能跑 |
| 网络 | 万兆网卡 |
Kafka 不是内存型系统,磁盘性能影响很大
Linux 性能明显优于 Windows:
batch.size=64k
linger.ms=5
compression.type=lz4
acks=1
num.network.threads=8
num.io.threads=16
log.segment.bytes=1G
log.retention.hours=168
| 瓶颈 | 表现 | 解决 |
|---|---|---|
| 磁盘 | IOWait 高 | SSD / 多盘 |
| 网络 | 网卡打满 | 万兆 |
| GC | CPU 飙高 | G1 + 合理堆内存 |
| 分区太少 | 无法并行 | 增加 partition |
| acks=all | 延迟高 | 改为 acks=1 |
❌ 强一致性事务
❌ 极低延迟(< 1ms)
❌ 小文件随机读写
❌ 简单队列(可用 RocketMQ / Pulsar)
Kafka 在 Linux 上性能非常强,尤其适合高吞吐、顺序写、高并发场景,是大数据和日志系统的首选。
如果你愿意,我可以:
你现在是用 Kafka 做什么场景?