以下是Kafka在Debian上的性能调优技巧,涵盖配置、硬件、系统及监控层面:
num.partitions与消费者线程数一致,提升并行处理能力。batch.size:设为1M-2M,减少网络请求。linger.ms:设为100ms-200ms,允许更多消息批量发送。compression.type:选lz4或snappy,平衡压缩比与CPU开销。buffer.memory:设为64M以上,提升缓冲能力。log.flush.interval.messages/log.flush.interval.ms:增大批量刷盘间隔,减少磁盘I/O。max.in.flight.requests.per.connection≥5),提升吞吐量。acks:all保证可靠性,1平衡性能与可靠性。fetch.min.bytes设为1M,fetch.max.wait.ms设为1000ms,减少请求频率。max.poll.records(如500-1000)提升并行度。noatime挂载选项,减少访问开销。-Xms4G -Xmx4G),避免频繁GC;预留部分内存给PageCache。net.core.rmem_max/wmem_max)。-Xms4G -Xmx4G(建议为物理内存的50%)。-XX:+UseG1GC),减少Full GC停顿。echo deadline > /sys/block/sda/queue/scheduler(针对SSD可尝试noop)。vm.swappiness=10,避免内存频繁交换。kafka-topics.sh:查看分区分布与负载。kafka-consumer-groups.sh:监控消费滞后量。acks=1),关键业务需确保acks=all。参考来源: