原文 https://blog.csdn.net/weixin_39478115/article/details/79155287
Broker參數配置
1、網絡和io操作線程配置優化 # broker處理消息的最大線程數(默認為3) num.network.threads=cpu核數+1 # broker處理磁盤IO的線程數 num.io.threads=cpu核數*2 2、log數據文件刷盤策略 # 每當producer寫入10000條消息時,刷數據到磁盤 log.flush.interval.messages=10000 # 每間隔1秒鍾時間,刷數據到磁盤 log.flush.interval.ms=1000 3、日志保留策略配置 # 保留三天,也可以更短 (log.cleaner.delete.retention.ms) log.retention.hours=72 # 段文件配置1GB,有利於快速回收磁盤空間,重啟kafka加載也會加快(如果文件過小,則文件數量比較多,kafka啟動時是單線程掃描目錄(log.dir)下所有數據文件 log.segment.bytes=1073741824 4、Replica相關配置 default.replication.factor:3 # 這個參數指新創建一個topic時,默認的Replica數量,Replica過少會影響數據的可用性,太多則會白白浪費存儲資源,一般建議在2~3為宜。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
Java API調優
1、zookeeper.session.timeout.ms 解釋:配置的超時時間太短,Zookeeper沒有讀完Consumer的數據,連接就被Consumer斷開了! 參數:5000 2、zookeeper.sync.time.ms 解釋:ZooKeeper集群中leader和follower之間的同步的時間 參數:2000 3、auto.commit.enable=true 解釋:注意offset信息並不是每消費一次消息就向zk提交一次,而是現在本地保存(內存),並定期提交 4、auto.commit.interval.ms 解釋:自動提交offset到zookeeper的時間間隔 參數:1000 5、zookeeper.connection.timeout.ms 解釋:確認zookeeper連接建立操作客戶端能等待的最長時間 參數:10000 6、rebalance.backoff.ms 解釋:消費均衡兩次重試之間的時間間隔 參數:2000 7、rebalance.max.retries 解釋:消費均衡的重試次數 參數:10