目录
性能测试基本概念
1.什么是性能测试?
2.常用的指标术语
3.性能测试间的应用领域
4.性能测试的整体流程
这几篇博客是想把自己在做性能测试过程当中的一些知识点进行总结、归纳、分享。
性能测试基本概念
1.什么是性能测试?
性能:指器物所具有的的性质和效用
软件质量模型中的性能:规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包含:时间特性、资源利用特性、效率依从性。
性能测试:在一定的复杂和压力的情况下,响应时间等特性是否满足特性的需求。
性能测试特点:具有量化、复杂、客观的特点,类似于科学实验。
一般的软件的质量模型:
功能性
可靠性
易用性
效率
维护性
可移植性
以上与性能测试相关的是:可靠性、效率
性能测试的四个维度:
多:支持的用户数、业务量
快:响应快
好:稳定可靠、不出错
省:资源占用少
性能测试的关注点:
用户体验:操作响应时间
系统容量:系统最高支持的每秒业务量
稳定性:系统在高压下是否可正常运行
可靠性:主备切换,优雅降级
可扩展性:通过横向、纵向扩展支持的更大的业务量
可测试性:性能测试的难易程度
2.常用的指标术语
响应时间(RT):从客户端发起请求,一直到收到所有的响应所消耗的时间。
一个典型的web系统,其时间构成如下:
吞吐量(TPS):指的是系统每秒能处理的交易或者事务的数量。根据不同的衡量对象,有:事务数/秒、点击数/秒、页面数/秒 等不同单位,吞吐量可以直接体现系统的处理能力,是性能测试中的重要性能指标、
虚拟用户数(VU):客户端模拟真实用户向服务器发起请求的进程/线程数,俗称并发数。
服务器资源利用:服务器的资源利用率反应系统占用资源的情况,在性能测试中,只要通过添加不同的性能计数容器来进行监控,对系统的性能瓶颈定位,十分重要。
事务:指的是用户进行一项业务操作过程中的一系列的请求集合,平均事务响应时间、事务通过率是衡量性能的重要指标。
性能测试各项指标的事务模型图:
响应时间:随着并发用户数的增加,在前两个区,响应时间基本平稳,小幅递增。在第三个区域:急剧递增。在第三个区的点为拐点。
吞吐量:随着并发用户数的增加,在前两个区,对于一个良好的系统来说,并发用户数的增加,请求增加,吞吐量增加,中间的区域,处理达到顶点。在第三个区:资源利用率:呈直线,表示饱和。
资源利用:随着并发用户数的增加,在轻负载区,资源利用逐渐成上升趋势,在后两个区,达到资源利用的最大值,不再增加。
关联:指的是测试中的每次请求都会动态变化的数据从服务器中的响应数据中提取出来,保存为变量,替换到性能测试脚本中,放置每次测试中都是使用相同的值。
ThinkTime:从业务角度,模拟人的操作,每个请求之间的间隔时间,通过thinkTime来模拟人的使用场景。
3.性能测试间的应用领域
a:性能期望值
b:高于期望、系统安全
c:高于期望,性能拐点
d:超过负载,系统崩溃
验收性能测试(a到b点之间的性能测试):通过模拟业务压力和使用场景组合,测试系统的性能是否满足要求,是最常用的性能测试方法,注意事项:
确定的目标:性能测试的目标是明确的
确定的环境:系统的典型应用场景和环境是确定的,如硬解设备、软件环境、网络环境、基础数据等。
负载测试(b的性能测试):通过在被测系统上不断施加压力,直到超过预定指标,或者某种资源已经达到安全临界值。具有的特点:
主要用找系统处理能力的极限
必须在给定的测试环境下执行,并进行典型场景考虑
可以配合性能调优,对比调优前后的性能差异。
压力测试(b到d之间的测试):测试在一定的资源情况下,系统能处理的会话能力,以及系统是否会出错的情况。具有的特点:
主要检测系统在压力情况下的性能表现
一般使用模拟负载的方法是系统达到较高水平
可以用以系统稳定性
可靠性测试(a到b点之间的测试):通过给系统施加一定的压力(系统容量的80%左右),让应用持续一段时间(6-8小时),测试系统在该条件下能否正常运行,测试过程中需要关注系统的响应时间,资源利用等。
配置测试:通过对系统硬件环境的调整,了解各种不同环境对系统的影响程度。