以下是在Ubuntu中调优Kafka配置的关键方法,涵盖参数调整、硬件优化及监控等方面:
num.partitions:设置为消费者线程数的1-2倍,提升并行处理能力。log.segment.bytes:调整为1GB-2GB,减少日志段滚动频率,降低随机I/O。num.io.threads:设置为CPU核心数的50%-70%,提高磁盘写入效率。log.flush.interval.messages/log.flush.interval.ms:适当增大值(如1000条/1000ms),减少频繁刷盘。buffer.memory:设置为可用内存的50%-70%,优化生产者缓冲。compression.type:启用snappy或lz4压缩,平衡CPU与带宽开销。log.dirs路径(如/data1/kafka-logs,/data2/kafka-logs),分散磁盘负载。vm.swappiness=10,减少内存交换;vm.dirty_background_ratio=5,优化脏页刷新。noatime挂载选项,降低访问延迟。batch.size:设置为32KB-1MB,批量发送提升吞吐量。linger.ms:设置为10-100ms,平衡延迟与批量效率。fetch.min.bytes:设置为1MB,减少拉取次数。max.poll.records:根据消费能力调整(如1000-5000条),避免单次处理过载。-Xms8G -Xmx8G),并使用G1垃圾回收器(-XX:+UseG1GC)。参考来源: