以下是从硬件、操作系统、Kafka配置及监控等方面提升CentOS上Kafka性能的方法:
vm.swappiness=1
:减少swap使用。vm.dirty_background_ratio=5
,vm.dirty_ratio=10
:优化磁盘写入策略。num.network.threads
:设置为CPU核数的2倍。num.io.threads
:设置为CPU核数的2倍,处理磁盘I/O。log.segment.bytes=1G
:增大日志段大小,减少频繁切换。compression.type=lz4/snappy
:启用压缩减少网络传输量。batch.size=1M
,linger.ms=100
:批量发送消息,提升吞吐量。num.replica.fetchers=2
:增加副本同步线程数。min.insync.replicas=2
:确保数据冗余,平衡可靠性和性能。buffer.memory=64M
:增大缓冲区,避免频繁阻塞。acks=1
:平衡性能与可靠性(业务允许时可设为0提升吞吐量)。max.poll.records=500
:单次拉取更多消息,减少网络交互。fetch.min.bytes=64K
,fetch.max.wait.ms=500
:批量拉取数据。enable.auto.commit=false
),避免重复消费。socket.send.buffer.bytes=1M
)。-Xms4G -Xmx4G
(不超过主机内存50%),推荐使用G1垃圾回收器(-XX:+UseG1GC
)。-XX:MaxGCPauseMillis=200
,减少GC停顿对性能的影响。注意:调优前需在测试环境验证,优先通过监控定位瓶颈(如CPU、磁盘I/O、网络延迟),针对性调整参数。具体配置需结合业务场景(如高吞吐或低延迟需求)调整。