1.性能测试的定义
检测软件系统,在一定资源情况下,能否满足用户的需求
2.性能测试开始的前提
性能的执行一般在功能已经实现并稳定的情况下开始
性能测试一般只关注软件系统的主要功能和流程
3.性能测试的目的
1.评估当前系统的性能指标
2.寻找可能存在的性能瓶颈并进行优化
4.常见的性能指标
1.并发用户数
系统用户数: 一般指系统当中注册的用户数量
在线用户数:一般指已经登陆或者访问软件系统的用户数量
并发用户数: 一般指同时向服务器发起请求的用户数量 注:并发用户数会对应的具体的请求
系统用户数 > 在线用户数 > 并发用户数
2.响应时间
响应时间指的从用户发起请求到收到响应一共消耗了多少时间
响应时间一般等于 网络响应时间 : 构建测试环境的时候,需要考虑到网络的带宽
服务器部署的地址产生的网络延迟
服务器业务处理时间 : 服务器上程序代码的执行时间
数据库的数据处理时间(数据读写) : 数据库中数据的数据量 是否有缓存数据库
3.tps
每秒通过事务数
事务一般指在系统当中完成一个业务功能或者业务流程所实施的操作。
一个事务可能包含一个或者多个请求。
进行性能测试时,随着并发用户数的增加,tps也会随之增加
如果并发用户数持续增加,tps增长缓慢或者不增长,可以视为性能瓶颈
tps对应事务响应时间
随着并发用户数的增加,事务响应时间会缓慢增加,如果事务响应时间快速增长,也视为有性能瓶颈
4.每秒点击数
每秒点击数一般是针对web服务器
每向web服务器发起一个http请求,视为一个点击
每秒点击数可能用于评估web服务器的性能
随着并发用户的持续增加,每秒点击数增长缓慢或者不增长,可以视为性能瓶颈
5.吞吐量
对于软件系统而言,吞吐量一般指数据吞吐量
单位一般为多少 M 多少G 多少T 的字节
吞吐量又一般用于评估 网络数据的吞吐量
随着并发用户数的增加,吞吐量也会增加
对于网络而言,数据吞吐量对于带宽的比值可以用于性能评估
6.思考时间
思考时间主要是考虑用户的行为
在进行一些业务操作的时候,用户在实际执行时,在多个操作中,会产生一些停留
这个停留的时间就称为思考时间
在编写性能测试脚本时,需要模拟用户行为,那么在请求脚本之间,需要设置思考时间
注:如果要模拟一些极端的情况,可以设置为0思考时间
在脚本编写和执行中,为了模拟用户真实行为,操作的间隔时间不同
可以设置一个区间值,随机从这个区间中取一个时间
7.资源使用率
cpu使用率
内存占用率 例如 在测试软件系统负载时,要求cpu和内存的使用率不能超过75%
超过则视为有性能瓶颈或者不满足用户的性能需求
网络i/o
磁盘i/o