在CentOS上优化Kafka的磁盘I/O可以通过以下几个方面来实现:
sudo yum install xfsprogs
sudo mkfs.xfs /dev/sdX
sudo mount /dev/sdX /var/lib/kafka
noatime可以减少文件访问时间更新的开销。sudo tune2fs -o journal_data_writeback /dev/sdX
log.segment.bytes=1073741824 # 1GB
log.flush.interval.messages和log.flush.interval.ms。log.flush.interval.messages=10000
log.flush.interval.ms=1000
compression.type=gzip
sudo sysctl -w vm.swappiness=10
sudo sysctl -w net.core.somaxconn=65535
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=65535
sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"
noop或deadline,适用于SSD。echo noop | sudo tee /sys/block/sdX/queue/scheduler
export KAFKA_HEAP_OPTS="-Xmx8G -Xms8G"
export KAFKA_JIT_OPTS="-server -XX:+UseParallelGC -XX:ParallelGCThreads=8 -XX:ConcGCThreads=4"
通过上述步骤,你可以显著提升CentOS上Kafka的磁盘I/O性能。记得在每次调整后进行测试,以确保性能提升符合预期。