APP下载

基于Web软件的性能测试研究

2019-08-27刘红

世界家苑 2019年7期
关键词:用户数量脚本流程

刘红

摘要:当下正处于互联网高速发展时期,更快、更稳定、更安全的系统已成为用户选择软件系统的一个重要因素,这使得更多的公司在软件服务创新的同时,更加重视应用系统的性能特性。本文结合日常性能工作,主要从性能测试的定义,类型,方案的制定,流程,测试结果的指标进行说明。

关键词:性能测试;loadrunner压测

近年来,互联网、移动互联飞速发展,与此同时,随着公司业务的发展,软件需要更多的关注日渐增多的用户数量,更加多层的交互场景及使用软件产生的数据量,这就要求服务器能够更加快速和及时地响应用户请求。为了解决以上软件公司所面临的挑战,我们可以利用性能测试检测系统的成熟度和客户需求进行对比,确认系统是否满足用户对软件在功能和性能上的需求。本文着重从性能测试的类型、流程,性能测试结果的系统指标进行说明。

1 性能测试的定义及类型

1.1 性能测试定义

性能测试是通过模拟真实环境(多用户)测试系统应用,通过多种较极端的情况对测试系统进行攻击。观察应用软件的系统指标(如:响应时间、吞吐量、每秒事务数、事务成功率等)和空间资源是否达到预期标准,如果未达到预期,需对结果指标进行分析,得出系统瓶颈,为软件调优提供解决方案。

1.2 性能测试类型

常见的性能测试类型包括以下几种:

(1)并发测试:通过模拟多用户同时做同一操作,观察系统的性能和是否存在错误。

(2)压力测试:系统在饱和状态下,不断给给定系统加压,检查系统长时间在较大压力下的响应情况。

(3)综合场景测试:是最能模拟真实业务场景的测试,综合场景包括几个常见要点:多个用户、多个脚本、在线运行较长一段时间,观察系统性能情况。

2 性能测试的流程

2.1 性能测试的流程

对系统进行性能测试时,应按照以下流程进行测试:

(1)分析性能测试需求,进行工作评估,制定性能测试方案,编写测试计划

(2)根据测试方案,准备测试脚本、测试环境及测试数据

(3)创建场景,执行测试

(4)运行、监控场景,收集性能数据,进行缺陷管理

(5)分析性能测试结果,编写测试报告,提供系统调优方案

2.2 性能测试工具loadrunner三大组件工作原理

(1)对于给定的被测系统,Visual User Generator根据选定协议(Windows Sockets,Http/Html,MS SQL Server等协议),捕获和记录客户端行为、生成脚本,用户可进行脚本调试(如添加检查点、事务、集合点等)。

(2)在VuGen中针对脚本,可以设置Run-time Settings

(3)在controller中设置场景:根据需求,选择脚本,设置运行场景和runtime setting,并可以通过负载生成器模拟大量用户进行负载和压力测试。。

(4)运行场景,通过analysis组件查看报告,包括summary和多个graph,通过多种方法(如:合并图表、网页细分图、钻取、水晶报表等方法)分析性能测试结果数据,提供性能调优的数据依据。

3 性能测试指标分析

3.1 响应时间

响应时间是指服务器对请求作出响应所消耗的时间。注意区分用户的感性时间和真正的响应时间,感知时间是指从客户端向系统提交请求开始返回信息的时间;实时响应时间是指从请求发送出去到页面展示所有数据的时间。

3.2 吞吐量

吞吐量是指单位时间内服务器处理的字节数。如果一段时间内,用户数量持续增加,而吞吐量趋于平衡甚至有略微减少不见递增,说明该用户数量即为当前系统所能承受的最大用户数量,系统处理能力已经达到瓶颈。

3.3 TPS:

TPS是指服务器每秒处理的事务数,tps值越大,系统处理能力越强。

4 性能测试结果分析

性能测试数据可以通过性能测试工具loadrunne的analysis组件进行分析,得出系统瓶颈。常见的分析方法包括:合并图表法、网页细分图、钻取技术、硬件指标分析。下面结合性能测试经验,提出几个可能导致tps过低的原因:

(1)网络带宽

在压力测试过程中会通过负载生成器模拟大量用户,此时会产生大量对地请求,传输过程中的数据包需要较大带宽,如果超出带宽能力,则会造成响应不及时。

(2)硬件资源达到瓶颈

包括CPU(%Processor Time、Processor queue length)、内存(Avalible Mbytes)、磁盘(%Disk Time、page fault)、网络(Bytes Total/sec)。

(3)数据库设置的最大连接数不足

(4)連接池

连接池连接不够,会导致请求响应不过来,造成排队等待。

随着公司业务的发展,软件产品愈加复杂,公司会面临更多日渐增多的用户数量,更加多层的交互场景及超大数据量等诸多问题。如何提高软件的性能,解决实际业务中的问题,也是我们做性能测试的根本目标。在性能测试过程中,我们应该制定更加合理的性能测试方案,监控性能测试流程,对软件做更加充分的测试,定位问题,找出瓶颈,为软件调优提供解决方案,提供更好的软件服务。

(作者单位:江西软件职业技术大学)

猜你喜欢

用户数量脚本流程
急诊快捷护理流程在急性脑卒中抢救中的应用
与元英&宫胁咲良零距离 from IZ*ONE
胶片相机的维修 当胶片机出现问题了该怎么办
自动推送与网站匹配的脚本
四川省高考志愿填报流程简图
用户质量对平台定价策略的影响研究
“一课四备”磨课流程例说
举一反三新编
捕风捉影新编
印媒:中国微博用户2013年减少2780万