num.partitions
:設置為消費者線程數的1.5-2倍,平衡并行度和管理復雜度。num.io.threads
:設為CPU核心數的50%,優化磁盤寫入。num.network.threads
:設為CPU核心數的50%,提升網絡吞吐。compression.type
:選擇lz4
或snappy
,減少網絡和存儲開銷。log.dirs
:配置多個存儲路徑(如/data/kafka1,/data/kafka2
),提升讀寫性能。batch.size
:設置為128KB-1MB,批量發送提升吞吐量。linger.ms
:設置為10-100ms,允許消息聚合。buffer.memory
:設置為64MB+,避免消息積壓。fetch.min.bytes
:設置為1MB,減少拉取頻率。fetch.max.wait.ms
:設置為1000ms,平衡延遲和吞吐量。default.replication.factor=3
,min.insync.replicas=2
,確保數據高可用。StickyAssignor
策略,減少消費者重平衡時的分區遷移。-Xms16G -Xmx16G
),并選擇G1垃圾回收器。log.retention.hours
控制保留時間。注意:所有配置需根據實際業務負載測試調整,優先在測試環境驗證后再部署到生產環境。
參考來源: