发布时间:2020-07-16
无论何种测试,核心的东西一定是需求分析,那全链路性能需求分析的要点是啥呢,和传统线下性能测试有啥区别呢?
请求数据源:
在传统线下性能测试,一般我们拿到接口参数便开始调试,写脚本,按照场景进行测试,而线上我们需要根据实际数据源统计,包含web端,app端,小程序端等,这个是我们的客户端数据来源,还有我们的运营商带宽占用情况,cdn节点的分布,这样就涉及到外网的压测,外网的压测策略和内网细节上的差别还是比较大的。
架构拓扑分析:
线上的部署结构往往比我们测试环境要复杂很多,测试环境往往是线上很小的一个分支,线上各种微服务的依赖集群,中间件,db需要调研的非常清楚,多少服务器,服务器上部署实例的情况,每个细节都会影响到压测的结果,以及分析的准确性。
数据分析:
数据分析可以分很多层次,在一般的性能压测中,我们一般会关注参数化数据和db数据,全链路压测中,还需要关注,redis数据,mq堆积,以及key的大小对实际带宽的影响,这些都跟中间件相关,一旦出现问题,对网站的影响往往是毁灭性的,带宽这块往往也是线下局域网测试不能覆盖的,线上会跨机房调用,所以尤其需要关注这块。
监控分析:
大多是情况下,我们会做硬件层的监控包括cpu,带宽,内存,磁盘等,然后客户端进行数据采集,指标一般也通过压测数据采集,但这些在全链路压测中还是显得还有基础,我们需要去通过更多服务器维度监控,包含各服务集群的业务指标数据,db层的实时下单数据,容器级别资源监控数据等内容,以及结合健康度指标等,在线上压测需要设置阈值,尽可能规避线上风险,防止造成用户流失。
压测目标的设定:
我们很多公司在线下压测的时候因无参考数据,可能压到拐点作为首选目标,而成熟的互联网公司一定会做线上的容量评估,一般会根据以往业绩以及流量相结合,会有一定比例增长的预估,还有通过推送转化率去评估,个人觉得可以长期做模型去进行数据积累,达到经验值的参考。
流量回放:
首先来说,能做到流量回放的公司很少,这个涉及到系统的改造,关键在于数据加工这块,能达到流量回放,测试的很多前期准备工作会少很多,但同时前期的开发改造任务也非常繁重。
推荐阅读:
您的信息已成功提交!
我们的客服人员稍后会与您联系