1. 性能基础知识之分类与指标

1.  什么是性能测试?

性能测试是通过性能测试工具(如常见的jmeter,loadrunner,WRK等)模拟多种正常,峰值以及异常负载流量来对系统的各项性能指标进行测试

2. 性能测试的分类?

负载测试:一般用来测试软件系统是否能达到需求文档的目标

若需求要求系统可支撑1000并发,则负载测试,就可以设置1000并发,持续压测,观察系统是否稳定可用且错误率可接受

极限测试:又称为容量测试,通过不断的加压直到测试出系统的最大承载能力,譬如测出系统的极限qps,与最大可承受的并发

稳定性测试:持续n*24小时内一直给予系统一定量的压力,观察系统的稳定性;

一般n至少为1,最好是3-7;给予的压力大小,最好取极限测试中最大可承受并发的1/3-1/2

3. 在性能测试中常遇到的各类指标的含义?

在性能测试中,我们经常会遇到以下指标名称。您了解并熟悉以下各项指标的含义吗?

1. 性能基础知识之分类与指标

并发

系统用户数:所有访问过系统的用户数
在线用户数:一个系统中同时在线的用户数,这些用户可能在也可能不在操作系统中,所以在线用户数不等于同时在线用户数
并发用户数:同一时间点执行相同业务操作的用户数
Peak Concurrency:并发用户数的峰值
因此,总体上满足:系统用户数 > 在线用户数 > 峰值并发数 > 并发用户数

吞吐量

吞吐:服务器一定时间内的处理能力,在性能测试中常见的与吞吐相关的指标tps或qps
TPS:每秒钟系统处理的事务数
QPS:每秒钟系统处理的请求数
如果一个请求就是一个事务,则这时QPS就与TPS等价
一般在做接口压测时,如果是独立的接口,一般该接口的一次请求就默认是一个完整事务,这时 QPS与TPS等价
如果接口之间存在依赖关系,如接口2的入参必须是接口1的返参,且接口1与接口2组成了一个完整的事务,则这时TPS为每秒钟能处理完成完整事务的次数
数据示例,例如
模块A:100并发下,接口1的性能QPS:204,接口2的性能QPS:202,且接口1与接口2存在依赖关系
故模块A的TPS: 202 (TPS每秒钟能完整的完成事务的次数,故应该取接口1与接口2的QPS的最小值)
模块A的QPS:406(QPS每秒钟能完成的请求次数,对于整个模块A来说,请求一次接口1或接口2都是完成一次请求,故应该是接口1与接口2的QPS的和)

响应时间

响应时间:一个请求,从客户端到接收到响应数据的整个过程的时间
在性能测试中一般分为:平均响应时间,Top50,Top90,Top99
平均响应时间:压测时间内发出的全部请求的平均响应时间
Top50,Top90,Top99等TopN系列的都是指响应时间按照从小到大进行排序后,总请求数N%的那一刻的请求的响应时间值
比如压测3min产生的总请求数为10000
Top50:这1w请求的响应时间按照从小到大进行排序,第5000个请求的响应时间
Top90:这1w请求的响应时间按照从小到大进行排序,第9000个请求的响应时间
Top99:这1w请求的响应时间按照从小到大进行排序,第9900个请求的响应时间
所以如果Top90=3s,那就说明访问该系统或接口的百分之九十的人响应时间都是在3s之内

错误率
错误率:一般指压测期间总错误次数/总请求次数*100%
对于高频接口(日活10w+),成功率要求4个9,即99.99%,错误率要低于0.01%
对于中频接口(日活1-10w),成功率要求3个9,即99.9%,错误率要低于0.1%
对于中低频接口(日活1w-),成功率要求2个9,即99%,错误率要低于1%

常见错误类型:
4xx 客户端错误,大多数可能是压测脚本造成的
400 BadRequest,一般情况下,请求出现语法错误,检查脚本的参数
404 NotFound,一般情况下,是接口路径错误,不存在的路径,请求发不出去造成的
405 MethodNotAllowed,一般情况下,是请求方式不对,如get接口,编写脚本时写成了post请求

5xx 服务器错误,大多数可能是环境问题或代码问题
500 InternalServerError 服务器内部错误,可能是代码解析出现问题
502 BadGateway 网关错误 可能是后端服务器没有起来,从网络角度,502已经与后端建立了连接,但超时,可能是应用或程序问题
503 ServiceUnavailable 服务不可达,服务器由于维护或者负载过重未能应答,例如,Servlet可能在数据库连接池已满的情况下返回503
504 GatewayTime-out 网关超时, 一般可能是网关层的配置错了,504与后端连接未建立,超时,所以可能是网关的配置问题

PV/UV
PV:Page View, 页面浏览量,用户每一次对网站中的每个网页访问均被记录1个PV,多次访问累计,主要是用以衡量网站用户访问的网页数量
VV:Visit View,统计的是一天内访问网站的次数,当访客完成所有浏览并最终关掉网站所有页面时,算一次,同一天内的多次访问行为,累计
UV:Unique Visitor,独立访客,是指访问该网站的自然人,如果一个人一天反复访问该网站,UV不累计为1,故一天的UV也可以认为是日活
IP:Internet Protocol,统计访问过某一个网站的IP总数,相同的IP地址多次访问,都被统计为1次
总结:PV是指页面的浏览次数,VV是指你访问网站的次数,UV是指访问网站的人数,IP是指访问网站的客户端数量

例1:用户A,10点访问微博,浏览了5个页面,11点又访问微博,浏览了3个页面,则PV=5+3=8,VV=2
例2:如果用户A与用户B在同一台电脑上分别用不同的账号登陆微博,则UV=2,IP=1

版权声明:本文为博主测试进阶lhx原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/qq_32757243/article/details/123041176

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年2月22日 下午5:13
下一篇 2022年2月22日 下午5:32

相关推荐