1、吞吐量/吞吐率
吞吐量一般指:某段时间内,系统一共处理的请求数
吞吐率一般用:TPS(每秒事务请求数)或 QPS(每秒请求量),在目标响应时间要求下,系统可以处理多少请求。
一般来说,吞吐率 = 吞吐量 / 单位时间,这个单位时间一般用s
TPS(Transaction Per Second)表示平均每秒处理事务数量,这里的事务表示一系列相关操作的集合,比如用户提交相关数据、下单、付款等,一般来说事务一般伴随着数据库数据的变更
QPS(Query Per Second)表示平均每秒查询率,一般伴随着用户查询数据,比如用户打开某个页面
2、响应时间RT(Response Time)
RT一般指用户发送请求到用户收到响应所需要的时间,这个也是最能反映用户体验的地方,就是快不快。
响应时间具体要求多少,一般读不超过 200ms,写不超过 500ms。要是实在不知道,对标同行业竞品。
3、并发数
大量用户使用系统,在系统不崩溃的情况下,能够支撑多少人同时使用
(1)狭义的并发用户数:同一时刻,使用系统的同一个功能(发送请求)的用户数量。(说明:性能测试一般都是狭义的并发。)
(2)广义的并发用户数量:同一时刻,给服务器产生压力(发送请求的)的用户数量。(可以是不同功能)广义并发有请求之和。
注:
系统用户数:注册这个系统的用户数量
在线用户数:同一时刻登录系统的用户数量
例:1000个系统用户,500个用户在线,100个用户打开网页在浏览,200个用户在进行查询操作,100个在进行提交操作。
给服务器产生压力的用户数量有多少(广义的并发用户数):300
狭义并发用户数量:200个用户同时访问查询操作,100个用户同时访问提交操作。
4、资源利用率
系统运行时占用的服务器资源
如:CPU 内存 硬盘 带宽 流量等
5、系统稳定性
比如保持最高吞吐量(目标响应时间下的最高吞吐量),持续运行 7*24 小时。然后收集 CPU,内存,硬盘/网络 IO,等指标,查看系统是否稳定,比如,CPU 是平稳的,内存使用也是平稳的。那么,这一系列的值就是系统的性能。
6、思考时间
Thinking Time指的是在性能测试脚本中,事务与事务之间,会有一些短暂的停顿,就好像真实用户在操作时,两次操作之间需要考虑一下。比如用户注册的时候,在打开注册页面到提交注册页面之间,是有一段考虑时间的(用户在填写个人信息)。即:请求与请求之间的间隔时间
我们设置考虑时间,是为了保证测试复合业务的时候,各个业务之间的比例关系符合我们的真实生产环境
7、请求成功率
在关注 QPS 和响应时间的同时,还要关注成功率。如果 QPS 和响应时间都满足性能要求时,请求成功率只有 50%,用户也是不会接受的。
8、性能拐点
一般服务都有性能临界点。当超过临界点时,吞吐量非线性下降,响应时间指数级增加,成功率降低。
为什么要找出性能拐点的主要原因:
基于性能拐点主要原因是针对性设置高危性能报警线。此为高风险注意事项,因为一旦达到性能拐点,有可能会出现雪崩现象,造成极其严重的事故。
观察超过性能拐点后,系统是否会出现假死、崩溃等高风险事件。
还有其他。。。。。。不多介绍
总结来说,我们在关注性能测试的指标时,需要关注的重点总结以下:
多(并发数,吞吐率)、快(响应时间)、好(系统稳定性)、省(资源利用情况)、思考时间、请求成功率、拐点