初识性能测试
一、性能测试基础知识精要
1.1、性能测试的重要性以及必要性
a、如果系统性能很差,企业网页加载很慢很慢,用户失去耐心、流失用户;
b、如果是电商网站,会直接到导致经济损失;
1.2、什么系统需要做性能测试?
所有的系统、软件都应该做性能测试,关键是要思考该做到什么程度,而不是做不做的问题。因为就算是一个人在使用某个系统,但该系统查询性能非常差,也是不能接受的。
现有系统大致分为:单机系统、C/S、B/S。这3类系统都应该进行性能测试,只是每个分类有各自特点,在实际测试中分别对应不同策略;
1.3 、性能测试的目的
性能测试不是去找bug,而是要排除系统瓶颈,把性能风险压缩到最小;
a、评估当前系统。
b、寻找瓶颈,优化性能。
c、预测未来性能;
1.4、性能测试主要术语
a、并发数
LR中虚拟用户数就是【并发用户数】;
并发:指用户在同一时刻做同一种操作;分为广义和狭义并发:广义并发指同一时间段内对系统发起多个操作;狭义并发:同一时刻对系统发起不同操作;
b、系统用户数、并发用户数、在线用户数概念
系统用户数:系统注册的用户数;
在线用户数:登录系统的用户;
并发用户数:指和服务器产生交互的用户,也就是:在同一个时间段内对系统发起多个请求;
c、事务
事务是性能测试脚本的一个重要特性。要度量服务器的性能,需要定义事务,每个事务都包含开始事务和结束事务标记。事务用来衡量脚本中一行代码或多行代码执行所耗费的时间;可以把浏览首页定义为一个事务,也可以把登录定义为一个事务,还可以把浏览首页+登录定义为一个事务;
d、TPS
每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标。TPS是LR中重要的性能参数指标;
它是基于事务统计出来的。
例如:当我们压力加大时,TPS曲线变化缓慢或者有平坦趋势,很有可能系统开始出现瓶颈了;
e、响应时间
响应时间 = 网络响应时间 + 应用程序响应时间;
响应时间和并发是同步进行的;响应时间和并发成对出现;
f、每秒点击率
用户每秒向Web服务器提交的HTTP请求数 ,指后端的多个请求;
g、思考时间
用户操作时,每个请求或者操作之间的间隔时间
h、吞吐量
吞吐量单位时间内系统处理请求的数量;
二、性能测试分类
1、基准测试
有基础有标准的测试;
2、并发测试
并发用户可以理解为很多用户按照预定义的场景并发请求某个业务功能是否出现并发问题;例如:内存泄露、线程锁、资源争用;
3、现网性能测试
现网性能测试和实际性能测试一样;
需注意以下几点:
3.1、时间段的选择 3.2、垃圾数据(写入的数据) 3.3、网络限制(网络宽带限制,压力机和服务器部署在同一网段)
4、性能测试
性能测试是为了获取性能指标;
5、负载测试
负载测试可以理解为:为了获得和确定系统的负载范围,在给定的负载条件下去验证业务或系统处理性能,需关注响应时间,每秒通过事务数和其它相关指标;
6、压力测试
压力测试可以理解为没有预期的性能目标,不断加压,看系统什么时候崩溃,以此来确定系统的瓶颈或者不能接受的性能拐点,获取最大、最佳并发数;
三、多角度看待性能
1、用户角度
关注的软件性能是:软件对用户操作的响应时间;
2、管理员角度
关注系统的响应时间、系统状态相关的信息;
3、开发人员
关注软件性能表现在如何调整时间和代码的实现,通过调整系统的设置提高性能;