性能测试的定义
通过一定的手段,在多并发的情况下,获取系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力、稳定性等,能否满足预期需求。定位性能瓶颈,排查性能稳重,保障系统的质量,提升用户体验。
性能指标
响应时间RT
网络传输的总时间+业务处理时间
响应时间的大小直接反应了系统的快慢,响应时间最小,系统在越快。
执行一个请求开始到最后收到响应数据所花费的总体时间
top响应时间
将所有请求的响应时间按小到大排序,计算指定比例的请求都是小于某个时间。<br>该指标统计的是大多数请求的耗时。例如发送100条请求,设置top95,则选取所有请求中95%请求的响应时间
成功率
请求响应的成功率
业界常用99.9%和99.99%
吞吐量QPS
网络中上行和下行的流量总和,吞吐量代表网络的流量,tps越高,吞吐量越大
集合点
集合点是为了增加瞬间并发压力的一种机制,在脚本在增加一个标记,所有虚拟用户执行到标记处会进行等待,等所有用户到达后,再同时执行下一步操作
适用场景:业务场景是高并发类型,例如秒杀、抢购等
缺点:增加集合店后,系统的平均压力会降低
web端性能测试
页面展示流程
1. 下载页面上的静态资源,html、css、js、图片等
性能取决于cdn服务器或者web中间件对静态资源的处理能力、网络带宽的限制、静态资源size是否合理等
2. 浏览器对静态资源进行渲染
浏览器的本地行为,渲染的性能取决于浏览器的性能,或者是本地电脑的cpu、显卡的性能,跟web系统没有关系
3. 当静态资源加载完毕/用户执行某种操作后,执行js脚本,调用接口获取动态数据
服务端接口的性能范畴
测试手段
chrome和Firefox自带的devtool功能,可以查看页面各组件的下载时间和size
第三方工具自动检查,如YSlow
操作、环境安装