Kafka 在 Debian 上的网络优化指南
一 基础网络与监听配置
listeners=PLAINTEXT://192.168.1.10:9092,EXTERNAL://203.0.113.10:9093
advertised.listeners=PLAINTEXT://192.168.1.10:9092,EXTERNAL://203.0.113.10:9093
listener.security.protocol.map=PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT
inter.broker.listener.name=PLAINTEXT
sudo ufw allow 9092,9093/tcp;云环境同步放通安全组。完成后用 ss -lntp | grep :909 或 netstat -an | grep 909 验证监听。二 操作系统内核网络参数
# 增大TCP读写缓冲(按内存与带宽酌情调整)
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.core.netdev_max_backlog = 5000
net.core.somaxconn = 65535
# TCP快速回收/重用,降低短连接开销(内网可控场景)
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0 # 与NAT/负载均衡并存时建议关闭
net.ipv4.tcp_fin_timeout = 30
# 可选:开启SACK与窗口缩放
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
sudo sysctl -p。这些调优有助于提升网络吞吐、降低延迟与丢包重传概率。三 Kafka Broker 关键网络参数
num.network.threads=8
num.io.threads=16
socket.send.buffer.bytes=1048576
socket.receive.buffer.bytes=1048576
max.connections=100000
queued.max.requests=1000
# 生产者侧(建议与业务时延目标权衡)
batch.size=1048576
linger.ms=50-100
compression.type=snappy # 或 lz4
acks=1 # 高吞吐优先;强可靠可用 all/-1
num.partitions=8-16(按主题与负载预估,避免过度分区带来元数据压力)
replication.factor=3
四 生产与消费端网络优化
五 验证与持续监控
nc -vz <broker_ip> 9092 或 telnet <broker_ip> 9092;跨机房链路检查丢包与抖动(ping、mtr)。