Kafka 一些優化措施


線程數

在kafka/config/server.properties中配置

#計算密集任務所需線程
# The number of threads that the server uses for receiving requests from the network and sending responses to the network
num.network.threads=3
#IO密集任務所需線程
# The number of threads that the server uses for processing requests, which may include disk I/O
num.io.threads=8

 

如果服務器cpu核心為 X ,那么

    計算密集任務所需線程 =  X

    IO密集任務所需線程 = 2 * X

消息清除策略

在kafka/config/server.properties中配置

log.cleanup.policy=delete#啟用刪除策略
#直接刪除,刪除后的消息不可恢復。可配置以下兩個策略:
#清理超過指定時間清理: 
log.retention.hours=16
#超過指定大小后,刪除舊的消息:
log.retention.bytes=1073741824

一般日志服務器會保留數據30天,所以沒必要kakfa保存7天,3天就夠了,,如果數據丟失可以從日志服務器中取

上面的是默認策略,其實還有一個策略,

compact策略

它並不是指通過壓縮算法對日志文件進行壓縮,而是對重復的日志進行清理來達到目的。在日志清理過程中,會清理重復的key,最后只會保留最后一條key,可以理解為map的put方法。在清理完后,一些segment的文件大小就會變小,這時候,kafka會將那些小的文件再合並成一個大的segment文件。

另外,通過日志清理功能,我們可以做到刪除某個key的功能。推送value為null的key到kafka,kafka在做日志清理時就會將這條key從日志中刪去。
————————————————
版權聲明:本文為CSDN博主「瘋狂哈丘」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013332124/article/details/82793381

開啟壓縮

在kafka/config/producer.properties中配置

# specify the compression codec for all data generated: none, gzip, snappy, lz4
compression.type=none

默認是不開啟壓縮,支持格式有,gzip,snappy,lz4

內存

在 kafka/bin/kafka-server-start.sh  中配置

 

 默認1G,生產中的經驗值為4 到 6 G,

  最高6G,超過6G效果不明顯,這時建議加服務器

 Producer緩沖區優化

在kafka/config/producer.properties中配置

buffer.memory:33554432 (32m)
#在Producer端用來存放尚未發送出去的Message的緩沖區大小。緩沖區滿了之后會阻塞, max.block.ms(默認1個小時)過后將會拋出異常

數據文件刷寫策略

在server.properties中配置

# 每當producer寫入10000條消息時,刷數據到磁盤 
log.flush.interval.messages=10000
# 每間隔1秒鍾時間,刷數據到磁盤
log.flush.interval.ms=1000

 消息大小

kafka對於消息體的大小默認為單條最大值是1M但是在我們應用場景中, 常常會出現一條消息大於1M,如果不對kafka進行配置。則會出現生產者無法將消息推送到kafka或消費者無法去消費kafka里面的數據,

#producer.properties:
#也可以在創建topic時動態設置    
max.request.size=5242880(5M)    
#server.properties    
message.max.bytes=6291456(6M)    
#consumer.properties:    
fetch.max.bytes=7340032(7M)    
 
    
#max.request.size < message.max.bytes < fetch.max.bytes

https://blog.csdn.net/zchdjb/article/details/101442939 參考來源

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM