kafka 调优

目录

一、硬件配置调优

二、生产者调优

提高吞吐量

 数据可靠

数据去重

数据有序、乱序

 三、Broker调优

服役新节点/退役旧节点

增加分区

 增加副本因子

手动调整分区副本存储

Leader Parttion 负载均衡

 自动创建主题

四、消费者调优

消费者再平衡

 指定offest消费

指定时间消费

消费者提高吞吐量

五、 总体调优

提升吞吐量

数据可靠 

合理设置分区数

单条日志大于1M

服务器挂了

六、压力测试

​编辑

 生产者压测

消费者压测


 

一、硬件配置调优

kafka 调优_第1张图片

 

1、100万日活 * 没人每天产生日志100条  =  1亿条 (中型公司)
        处理日志速度  1亿条 / (24 * 3600s ) = 1150条/s
        1条日志 (0.5k - 2k 1k)
        1150条 * 1k /s  =  1m/s
        
        高峰值 (中午小高峰 8 -12 ): 1m/s  * 20倍 =  20m/s  -40m/s
        
    2、购买多少台服务器
        服务器台数= 2 * (生产者峰值生产速率 * 副本数 / 100) + 1
                   =  2  * (20m/s * 2 /100) + 1
                   = 3 台
                    
    3、磁盘选择
        kafka 按照顺序读写   机械硬盘和固态硬盘 顺序读写速度差不多
        
        1亿条  *  1k = 100g
        100g * 2个副本 * 3天 / 0.7 = 1t
        建议三台服务器总的磁盘大小  大于1t
        
    4、内存选择
        kafka  内存 = 堆内存(kafka 内部配置) + 页缓存(服务器内存)
        1)堆内存 10 -15g
        2)页缓存  segment (1g )  (分区数Leader(10) * 1g * 25%)/ 3 = 1g
        一台服务器 10g + 1g
        
    5、CPU选择    
        32cpu
    6、网络选择
   

二、生产者调优

kafka 调优_第2张图片

kafka 调优_第3张图片 

kafka 调优_第4张图片 

提高吞吐量

kafka 调优_第5张图片

 

 数据可靠

kafka 调优_第6张图片

 

数据去重

kafka 调优_第7张图片

数据有序、乱序

kafka 调优_第8张图片

 

 三、Broker调优

kafka 调优_第9张图片

 kafka 调优_第10张图片

kafka 调优_第11张图片 

服役新节点/退役旧节点

 kafka 调优_第12张图片

 kafka 调优_第13张图片

增加分区

分区只能增加不能减少!

 

 增加副本因子

kafka 调优_第14张图片

手动调整分区副本存储

kafka 调优_第15张图片

Leader Parttion 负载均衡

kafka 调优_第16张图片

 自动创建主题

kafka 调优_第17张图片

四、消费者调优

kafka 调优_第18张图片

kafka 调优_第19张图片 kafka 调优_第20张图片

 

消费者再平衡

kafka 调优_第21张图片

 

 指定offest消费

指定时间消费

kafka 调优_第22张图片

 

消费者提高吞吐量

kafka 调优_第23张图片

 

五、 总体调优

提升吞吐量

kafka 调优_第24张图片

 

数据可靠 

kafka 调优_第25张图片

合理设置分区数

kafka 调优_第26张图片

 

单条日志大于1M

kafka 调优_第27张图片

 

服务器挂了

 kafka 调优_第28张图片

六、压力测试

kafka 调优_第29张图片

 

 生产者压测

kafka 调优_第30张图片

 

    测试:
    1、batch.size=16384 linger.ms=0      9.76 MB/sec
    2、batch.size=32768 linger.ms=0     9.76 MB/sec
    3、batch.size=4096 linger.ms=0      3.81 MB/sec
    4、batch.size=4096 linger.ms=50      3.83 MB/sec
    5、batch.size=4096 linger.ms=50 compression.type=snappy   3.77 MB/sec
    6、batch.size=4096 linger.ms=50 compression.type=zstd     5.68 MB/sec
    7、batch.size=4096 linger.ms=50 compression.type=gzip      5.90 MB/sec
    8、batch.size=4096 linger.ms=50 compression.type=lz4       3.72 MB/sec
    9、batch.size=4096 linger.ms=50 buffer.memory=67108864   3.76 MB/sec

    

消费者压测

kafka 调优_第31张图片

kafka 调优_第32张图片

 kafka 调优_第33张图片

 

测试:
    消费者  一次处理500条   81.2066m/s
    消费者  一次处理2000条  138.0992m/s
    消费者  一次处理2000条  fetch.max.bytes=104857600   145.2033m/s

 

你可能感兴趣的:(kafka学习记录,kafka,java,分布式)