以下是Kafka配置中优化磁盘I/O的关键措施:
log.dirs路径(如多块磁盘),分散I/O压力。noatime,nodiratime选项,减少磁盘写入。deadline或noop(通过echo deadline > /sys/block/sdX/queue/scheduler)。num.io.threads(建议为CPU核心数2倍),提升磁盘I/O并发能力。log.flush.interval.messages(如10000)和log.flush.interval.ms(如1000),平衡刷盘频率与吞吐量。log.segment.bytes(如1GB),控制日志段大小,避免频繁切换文件。compression.type=snappy/lz4),减少写入数据量。num.partitions),并行处理提升吞吐量,避免单分区成为瓶颈。replication.factor),分散读写压力,但需权衡存储成本。Disk Read/Write Time(建议<50%)、Log Flush Time(建议<100ms)等指标。swapoff -a),减少磁盘I/O延迟。参考来源: