性能测试知多少?

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

性能测试知多少?
一、性能测试的基础概念
✧性能测试:通过模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测
试,寻求系统在正常负载下的各项性能指标,或者通过调整并发用户数,使系统资源的利用率处于正常水平时获取到系统的各项性能指标。

二、常见的性能测试的分类
✧基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考✧负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项
或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等。

✧压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系
统在峰值负载或超出最大载荷情况下的处理能力。

✧稳定性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系
统是否稳定。

✧并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死
锁或者其他性能问题。

三、常见的性能测试场景
✧单场景:只涉及单个业务流程的测试场景,目的是测试系统的单个业务处理能力是否达
到预期,并且得到系统资源利用正常情况下的最大TPS,平均响应时间等性能指标。

✧混合场景:测试场景中涉及到多个业务流程,并且每个业务流程在混合的业务流程中占
的比重会不同,该比重一般根据实际的业务流程来设定,尽可能符合实际的业务需要,该测试场景的目的是为了测试系统的混合业务处理能力是否满足预期要求。

并且评估到系统的混合业务处理容量最大能达到多少。

✧稳定性场景:稳定性测试是为检测多个交易在长时间的负载下,90%响应时间、系统
处理能力、资源利用率、交易成功率等各项指标变化是否平稳。

四、常见的性能测试指标
✧响应时间:请求或者某个操作从发出的时间到收到服务器响应的时间的差值。

(主要查
看平均响应时间,90%响应时间)。

✧TPS(Transaction Per Second):系统每秒能够处理的交易和事务的数量,一般统计
的是每秒通过的事务数,根据TPS来判断系统能够承受并发用户数值数量,达到什么状态。

✧HPS(Hits Per Second):每秒虚拟用户HTTP请求(服务器)数,根据HPS来分析判
断压力机对系统的负载压力达到是否稳定状态。

✧吞吐量:一个系统的吞吐量一般与一个请求处理对CPU的消耗、带宽的消耗、IO和
内存资源的消耗情况等紧密相连。

主要通过查看服务器和数据库的CPU,内存,IO流的使用情况来分析判断系统吞吐量,接口请求对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高(即关注CPU使用率,内存使用率和I/O 利用率)。

✧事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,根据
事务成功率是否达到指定的指标来分析判断系统的处理能力。

✧其它:更多的指标请结合产品实际,也可以自行查找资料获取。

五、一般性能测试的准备
✧浏览器(例如:谷歌/火狐):利用开发者工具可以查看实际场景调用的接口,请求和
响应信息。

(此处针对于Web相关)
✧性能测试工具(例如:Jmeter):用于编写性能脚本,调试性能脚本,执行性能测试
场景脚本。

✧数据库工具(例如:Dbeaver):数据库操作工具,构造性能测试数据,查看数据库表
数据结构和数据。

✧性能环境监控工具:监控性能测试过程中服务器和数据库CPU、内存、IO流等资源
的情况,或者登录linux,用命令top,vmstat,free监控系统资源信息。

六、性能测试分析
性能分析是为了确定导致性能瓶颈的原因,而调优就是用来解决性能瓶颈,通过某些手段让系统性能得到提高,是性能调优的主要目的。

性能测试分析方法有:
✧将测试结果与用户需求做比较,如果达到用户需求,则测试通过。

目前我们分析最简单的方法是根据我们之前记录得到的测试结果(图表、曲线等),经过计算,与预定的性能指标进行对比,确定是否达到了我们需要的结果,关注平均响应时间/90%响应时间是否达标,事务成功率是否达到100%,TPS和HPS随着压测过程是否稳定。

来判断系统是否稳定,性能方面是否可以达到支持业务的期望目标。

✧最优化分析法
通过分析并消除系统性能瓶颈,使系统的处理能力达到最大化,系统资源得到充分利用。

a)应用程序诊断
应用程序诊断是性能测试的最初目的。

通过模拟多用户操作形成负载。

检验应用程序是
否能够满足用户性能需求。

如果不满足,则定位应用瓶颈,并寻找解决该瓶颈的方案。

确保系统在修正后能够满足用户需求。

对于一个项目来说,一般以应用诊断为主。

也是我们做性能测试人员的产出所在。

b)性能调优
性能调优需要性能测试人员慢慢积累经验,请教测试同事或开发人员,分析硬件,应用软件,应用程序,操作系统,网络设备的性能瓶颈。

找出影响性能的要素,最终提升性能,来逐步完善系统性能
写在最后:
对性能测试数据的分析是需要大量实战经验的,会遇到各种各样的系统性能特征数据。

测试之路任重而道远,需要不断的去分析总结经验,慢慢积累。

具体的更多分析方法可以自行查找资料了解更多。

相关文档
最新文档