• 【原创】某版本性能测试


    性能测试报告

     
     

    结论:满足上线条件,上线建议灰度放量并关注峰值带宽消耗趋势。

     
     

    测试过程

     

    影响范围预估:

    自定义模板上线性能影响范围预估主要在H5模板信息渲染,新接口访问量参照线上H5的PV,单机需承载700+QPS

     

    待测接口:模板信息接口template-info

     
     

    /service/article/template-info

    参数化内容:

    {"mask_id":"${article}"}

    选取活跃用户文章musk_id缓存至csv config文件中

     

    返回结果主要分两种:

    1、文章未使用模板即无模板文章

     

    2、文章使用了模板,服务端会返回模板相关信息

     

    发现body体较大可能存在风险。

     

    第一次压测结果分析

     

    猜测QPS瓶颈在article-6出口带宽不足

     

     

    第二次压测结果分析

     

    aritcl-6带宽修改为20M后,qps仍未上升

     

    经过排除法最终定位到当前QPS瓶颈在于slb的连接数限制

     

     

    slb连接数监控⬇️

     

    线上slb配置最大连接数为100000故不存在此问题

     

    当前可通过修改灰度slb连接数或直连article-6机器绕过此问题

     

    为了快速快速验证结果,尝试article-6通过内网访问发现可直连

     
    1. [root@test-perf 5.4]# curl -X POST http://172.17.27.196:81/service/article/template-info -d '{"mask_id":"jogo4fc"}'
    2. {"code":1000,"err":false,"msg":null,"data":{}}
     

    修改后第三次压测结果分析

     

     

    单机QPS终于成功上升到1400+安全区间(线网峰值单机700QPS左右),但关注其他指标后发现了问题:

    1、如最初风险预估,QPS达到峰值时对应的带宽要求极高,单机带宽需达到130m,而当前线网机器配置普遍无法达到⬇️

     

     

    2、被测机CPU消耗达到90%以上

     

     

    Body分析

    抓取使用了模板的文章服务端返回进行分析

     

     

    发现下发的配置中有大量的图片直接通过base64编码后返回[捂脸][捂脸][捂脸]

     

    修改方案:

    图片改为CDN下发,修改后的服务端响应body:

     
    1. {"code":1000,"err":false,"msg":null,"data":{"id":0,"template_id":0,"bg_img":null,"music_id":0,"config":{"article":{"bg":-1,"bgImg":"//ss2.meipian.me/cdn/series/img/mp-article-bg.ccafa4d.png","fixed":-1,"fixedBgImg":"//ss2.meipian.me/cdn/series/img/mp-article-bg-fixed.ccafa4d.png","fixedMask":"//ss2.meipian.me/cdn/series/img/mp-article-bg-fixed-mask.ccafa4d.png"},"caption":{"bgImg":"//ss2.meipian.me/cdn/series/img/mp-article-caption-bg.ccafa4d.png","style":0,"top":""},"colors":{"s1":"#333333","s2":"#9b9b9b","s3":"#2F92FF","s4":"#FF6C18","s5":"#ffffff","s6":"#ffffff"},"editor":["#333333","#9B9B9B","#ED2308","#FF8A00","#39B54A","#167EFB","#B06FBB"],"images":{"borderImg":"//ss2.meipian.me/cdn/series/img/mp-article-images-border.ccafa4d.png","corner":0,"exif":-1,"group":{"g1":["","","",""]},"matrix":{"x1":[0,0,0,0]},"style":1,"type":0},"music":{"customBgImg":"//ss2.meipian.me/cdn/series/img/mp-article-music-fixed-custom-bg.ccafa4d.png","style":0,"type":0},"scene":{"imgs":[],"number":20,"type":-1},"template":"basis","videos":1},"template_config":null}}

    图片通过七牛访问

     
    1. bgImg":"//ss2.meipian.me/cdn/series/img/mp-article-bg.ccafa4d.png"

    优化后第四次压测结果分析

     

     

    QPS 上升200+至1600 ,带宽消耗降低了六倍。

    基本满足上线条件,但上线后峰值期间需关注对应带宽消耗并做调整。

  • 相关阅读:
    【Caffe代码解析】Layer网络层
    Codeforces Round #276 (Div. 2)
    深入一点 让细节帮你和Fragment更熟络
    C-IDE使用指南
    14.11 隔离事务
    【工具类】遍历扫描目录下全部文件并列出
    Cocos2d-x源代码解析(1)——地图模块(1)
    【Android实战】----基于Retrofit实现多图片/文件、图文上传
    RabbitMQ基本使用
    Spring 4 中重定向RedirectAttributes的使用
  • 原文地址:https://www.cnblogs.com/maple42/p/12015826.html
Copyright © 2020-2023  润新知