Kafka配置文件优化可从生产者、消费者、Broker及硬件层面入手,以下是关键参数及策略:
batch.size(建议64KB-1MB),延长linger.ms(5-100ms),减少网络请求次数。compression.type=lz4或zstd,降低网络传输量(压缩比约30%-70%)。acks=all确保数据持久化,搭配retries=3和max.in.flight.requests.per.connection=1避免乱序。fetch.min.bytes(建议1MB)和fetch.max.wait.ms(500ms),提升单次拉取效率。enable.auto.commit=false),配合commitAsync异步提交。num.partitions设置为Broker数量的整数倍,避免负载不均。replication.factor=3,min.insync.replicas=2,平衡可用性与一致性。num.io.threads=磁盘数×2,提升磁盘读写效率。log.segment.bytes=2-5GB,减少日志切换开销。socket.send.buffer.bytes和socket.receive.buffer.bytes(建议1MB),提升传输速度。vm.swappiness=0减少内存交换,优化网络参数(如net.core.rmem_max)。kafka-consumer-groups.sh、kafka-topics.sh)监控消费滞后和分区状态。参考来源:[1,2,4,6,8,9,11,12,13,14]