Disk I/O optimization in Kafka - Commands & Configuration
log.dirs=/var/lib/kafka-logs-1,/var/lib/kafka-logs-2 num.io.threads=8 num.replica.fetchers=4 log.flush.interval.messages=10000 log.flush.interval.ms=1000 log.segment.bytes=1073741824 log.retention.hours=168 log.retention.bytes=10737418240
log.dirs: Lists multiple directories on different disks to spread Kafka logs and reduce disk I/O bottlenecks.
num.io.threads: Number of threads Kafka uses for disk I/O operations, increasing parallelism.
num.replica.fetchers: Threads fetching data from leader replicas, affecting disk read load.
log.flush.interval.messages and log.flush.interval.ms: Control how often Kafka flushes data to disk, balancing durability and performance.
log.segment.bytes: Size of log segments to optimize disk writes.
log.retention.hours and log.retention.bytes: Manage how long and how much data Kafka keeps on disk to avoid disk full issues.
kafka-server-start.sh /opt/kafka/config/server.properties
iostat -dx 2 3
kafka-topics.sh --describe --topic example-topic --bootstrap-server localhost:9092--describe - Shows detailed information about the topic--bootstrap-server - Specifies the Kafka server to connect toIf you remember nothing else from disk I/O optimization, remember: spreading Kafka logs across multiple disks and tuning I/O threads improves performance and reduces bottlenecks.