调整Linux Kafka吞吐量可从硬件、配置、参数优化及监控等方面入手,具体如下:
硬件优化
Kafka配置优化
num.network.threads
(建议设为CPU核数)和num.io.threads
(建议设为2×CPU核数)。socket.send.buffer.bytes
和socket.receive.buffer.bytes
(如1MB)。log.segment.bytes
(如1GB)减少段切换开销。batch.size
设为64KB-1MB)和压缩(如compression.type=lz4
)。linger.ms
(如10-100ms)平衡延迟和吞吐。fetch.min.bytes
(如1MB)和fetch.max.wait.ms
(如100ms),减少拉取次数。max.poll.records
(如1000-5000)提升单次拉取量。系统与JVM调优
ulimit -n 65536
)。net.core.somaxconn
和tcp_nodelay
。-Xms
和-Xmx
设为物理内存的50%-70%)。监控与调优
注意:需根据实际业务场景(如延迟敏感型或高吞吐型)权衡参数,优先在测试环境验证后再应用到生产环境。