以下是Kafka在CentOS上的优化配置建议,涵盖硬件、操作系统、Kafka参数及监控等方面:
vm.swappiness=1
:避免频繁swap到磁盘。vm.dirty_background_ratio=5
、vm.dirty_ratio=60
:优化脏页刷新策略。noatime
选项,减少磁盘访问开销。num.partitions
:根据CPU核数设置分区数(建议为核数的2-3倍),提升并行度。num.io.threads
:设置为CPU核数的50%,优化磁盘写入性能。log.segment.bytes
:调整为1-10GB(默认1GB),减少日志分段数量。log.retention.hours
:根据业务需求设置保留时间(如72小时),避免磁盘占满。compression.type=lz4/snappy
,减少网络传输和存储开销。net.core.rmem_max
/net.core.wmem_max
为2MB,提升网络吞吐量。-Xms
和-Xmx
为物理内存的70%(如-Xms8g -Xmx8g
)。batch.size=1MB
、linger.ms=100ms
:批量发送消息,提升吞吐量。fetch.min.bytes=1MB
、max.poll.records=500
:批量拉取消息,减少网络请求。注意事项:优化前需在测试环境验证配置效果,生产环境调整需逐步进行,优先保障数据可靠性。
参考来源: