zoukankan      html  css  js  c++  java
  • 【原创】某版本性能测试

    性能测试报告

     
     

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

     
     

    测试过程

     

    影响范围预估:

    自定义模板上线性能影响范围预估主要在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 ,带宽消耗降低了六倍。

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

  • 相关阅读:
    网络-路由交换-IPv4-Cisco-协议概要
    网络-路由交换-IPv4-Cisco-协议基础
    网络-路由交换-网络安全-华为-ACL分类
    泰克-OSPF
    网络-路由交换-网络安全-华为-DHCP基础
    不同系统下的数据参考
    model一定是和数据库表对应的么?
    NUnit属性-百度Nunit-Gui
    NUnit属性
    NUnit详细使用方法
  • 原文地址:https://www.cnblogs.com/maple42/p/12015826.html
Copyright © 2011-2022 走看看