性能测试报告
结论:满足上线条件,上线建议灰度放量并关注峰值带宽消耗趋势。
测试过程
影响范围预估:
自定义模板上线性能影响范围预估主要在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通过内网访问发现可直连
[root@test-perf 5.4]# curl -X POST http://172.17.27.196:81/service/article/template-info -d '{"mask_id":"jogo4fc"}'
{"code":1000,"err":false,"msg":null,"data":{}}
修改后第三次压测结果分析
单机QPS终于成功上升到1400+安全区间(线网峰值单机700QPS左右),但关注其他指标后发现了问题:
1、如最初风险预估,QPS达到峰值时对应的带宽要求极高,单机带宽需达到130m,而当前线网机器配置普遍无法达到⬇️
2、被测机CPU消耗达到90%以上
Body分析
抓取使用了模板的文章服务端返回进行分析
发现下发的配置中有大量的图片直接通过base64编码后返回[捂脸][捂脸][捂脸]
修改方案:
图片改为CDN下发,修改后的服务端响应body:
{"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}}
图片通过七牛访问
bgImg":"\/\/ss2.meipian.me\/cdn\/series\/img\/mp-article-bg.ccafa4d.png"
优化后第四次压测结果分析
QPS 上升200+至1600 ,带宽消耗降低了六倍。
基本满足上线条件,但上线后峰值期间需关注对应带宽消耗并做调整。