码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • kafka 调优


    目录

    一、硬件配置调优

    二、生产者调优

    提高吞吐量

     数据可靠

    数据去重

    数据有序、乱序

     三、Broker调优

    服役新节点/退役旧节点

    增加分区

     增加副本因子

    手动调整分区副本存储

    Leader Parttion 负载均衡

     自动创建主题

    四、消费者调优

    消费者再平衡

     指定offest消费

    指定时间消费

    消费者提高吞吐量

    五、 总体调优

    提升吞吐量

    数据可靠 

    合理设置分区数

    单条日志大于1M

    服务器挂了

    六、压力测试

    ​编辑

     生产者压测

    消费者压测


     

    一、硬件配置调优

     

    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、网络选择
       

    二、生产者调优

     

     

    提高吞吐量

     

     数据可靠

     

    数据去重

    数据有序、乱序

     

     三、Broker调优

     

     

    服役新节点/退役旧节点

     

     

    增加分区

    分区只能增加不能减少!

     

     增加副本因子

    手动调整分区副本存储

    Leader Parttion 负载均衡

     自动创建主题

    四、消费者调优

     

     

    消费者再平衡

     

     指定offest消费

    指定时间消费

     

    消费者提高吞吐量

     

    五、 总体调优

    提升吞吐量

     

    数据可靠 

    合理设置分区数

     

    单条日志大于1M

     

    服务器挂了

     

    六、压力测试

     

     生产者压测

     

        测试:
        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

        

    消费者压测

     

     

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

     

  • 相关阅读:
    基于JAVA球迷信息交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署
    安卓 实现60s倒计时的CountDownTimer(小坑)
    自动化测试框架有哪几种?全网最全面的总结来了
    redis之GEO使用
    鼠标拖拽拖动盒子时,与盒子内某些点击事件冲突问题解决
    win10下mmsegmentation的安装训练以及使用mmdeploy部署的全过程
    机械转码日记【25】多态
    力扣2379.得到k个黑块的最少涂色次数
    IEEE 802.11专栏文章概览
    HIT_OS_LAB2 调试分析 Linux 0.00 多任务切换
  • 原文地址:https://blog.csdn.net/m0_56017821/article/details/127037812
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号