以下是在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
)。參考來源: