性能测试的方法 和 测试指标 区别 压力测试 负载测试
响应时间
简称 RT。是指系统对请求作出响应的时间,可以理解为是指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。互联网企业:500 毫秒以下,例如淘宝业务 10 毫秒左右。
系统处理能力 此指标是衡量系统处理能力非常重要的指标,越大越好
- HPS(Hits Per Second):每秒点击次数,单位是次/秒。
- TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒。
- QPS(Query per Second):系统每秒处理查询次数,单位是次/秒。
- 互联网电子商务:10000TPS~1000000TPS
- 互联网中型网站:1000TPS~50000TPS
- 互联网小型网站: 500TPS~10000TPS
Tps即每秒处理事务数,包括了
1)用户请求服务器
2)服务器自己的内部处理
3)服务器返回给用户
QPS:对于一个页面的一次访问,可能产生多次对服务器的请求,多个QPS, 但只形成一个Tps
吞吐量 吞吐量是指系统在单位时间内处理请求的数量
对于单用户的系统,响应时间可以很好地度量系统的性能,但对于并发系统,通常需要用吞吐量作为性能指标。
并发用户数
定义和解释:并发用户数指在同一时刻内,登录系统并进行业务操作的用户数量。
并发用户数对于长连接系统来说最大并发用户数即是系统的并发接入能力。对于短连接系统而言最大并发用户数并不等于系统的并发接入能力,而是与系统架构、系统处理能力等各种情况相关。
与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。
ART: 平均响应时间 Average Response Time,各项事务响应时间的统计平均值,是用户视角的软件性能的主要体现
Transaction: 事务(交易) ,在测试脚本中定义的,完成一种业务操作的过程,性能测试主要关注定义事务的处理能力及响应时间,每个脚本根据需要可定义多个事务
并发数:并发用户数, 在同一时间范围与后台服务器进行交互的在线用户数量,若有集合点,表示同一时刻的同时用户行为。 并发数要求高并要求同时操作,需要对脚本使用一些集合点,表示同一个时刻的同时用户行为。
数据库: OPS
第二种:即Oracle Parallel Server,中文名叫 并行服务器,作用是可以让位于不同系统的多个实例同时访问同一个数据库。并行服务器可以有效地提高系统的可用性和对多系统的访问性能
指标参考:https://testerhome.com/articles/21178
五种方法:
基准测试:确定速度、可伸缩性以及稳定性。可以当作一个参照物,后面负载测试把它当成对比。针对每一支选定交易,系统无压力情况下,单个用户迭代(常用50或100次),获取每支交易平均响应时间。
负载测试:确定应用软件在正常和峰值负载条件下的行为状态,按照交易单独测试,每支交易执行10个虚拟用户运行10分钟,获得交易系统处理的响应时间及TPS。 一般用等差或等比来设计,根据并发数、响应时间或吞吐量来看结果是不是结果成正比或结果成等差,衡量系统的扩展性,如果出现拐点,那么会随着并发用户的增加,响应时间会随指数增加
容量测试:确定在非正常的负载条件下,应用软件所具有的状态行为。对业务模型采用TPS梯度的方式(例如20TPS,60TPS等)对系统进行施压,运行15分钟,知道出现容量拐点或达到测试指标限制获取响应时间。 加压对象是多支交易,并且多支交易是按一定比例进行组合压测的 。两种比例方式: 1、并发用户数比例 ; 2、吞吐量比例,交易(事务)的比例 ,比如a交易吞吐量是100,b交易吞吐量是200,则吞吐量比为1:2,则对测试结果进行调试,比如调增用户并发数、响应时间或配型值
稳定性测试:用于确定,在满足性能目标前提下,系统最多可以支持多少用户或者事务, 要求长时间运行,按照容量测试的最大容量的80%来进行的,时间选取8、12、24或7*24小时。 目标是主要看我们系统是否能提供一个高可用的并且持续稳定运行的一个状态, 注重响应时间吞吐量,事务的成功率是否稳定。
异常测试,确定系统故障回复能力。 类型有:1、服务异常,2、通信异常 3、流量突增异常 4、超时异常
负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。
压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试。
负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。负载测试的加载方式也有很多种,可以根据测试需要来选择。
性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。
压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。
原文链接:https://blog.csdn.net/KerryZhu/article/details/3515714
Jmeter压测例子:https://www.cnblogs.com/stulzq/p/8971531.html