APP下载

复杂信息系统性能测试研究

2020-03-07

网络安全技术与应用 2020年2期
关键词:吞吐量瓶颈内存

(中国电子科技集团公司第二十八研究所 江苏 210007)

信息系统软件是信息系统的大脑和灵魂,受信息系统体系结构和作战任务等因素的影响[1],复杂信息系统软件的应用规模越来越大,架构越来越复杂,软件质量及性能可靠性的问题也随之日益凸显起来,软件测试是保证质量和提高性能可靠性的关键所在,复杂信息系统的软件的性能测试就显得尤为重要。

1 性能测试概述

1.1 性能测试概述

系统性能测试对一个系统而言一般包括执行效率、资源占用率、稳定性、可靠性等;与性能相关的指标一般包括响应时间,吞吐量,资源使用率等。

根据测试目的不同,性能测试一般可分为压力测试、负载测试、容量测试等类型[2]。

1.2 性能测试原理

系统性能测试的目的一般包括两个方面:一方面是确认系统在相应负载条件下的运行是否满足需求,另一方面是通过系统在一定负载下运行所得的数据分析它的瓶颈。因此,对测试的系统施加相应的负载,并且能够分析系统在相应负载下的表现是性能测试的关键。

同时,性能测试需要记录和分析系统在压力下运行时的一些参数,例如响应时间、最大/最小并发数、失败的次数、正常连续运行的最长/最短时间、并发数与失败的关系等,对这些数据进行分析能够帮助测试者很快地找到系统的瓶颈[3]。

1.3 性能测试指标

在进行性能测试之前,需要考虑系统的性能指标。系统常用的性能指标有以下几种[4]:

(1)响应时间

响应时间是指系统对请求做出响应的时间。从用户的角度来看,响应时间指的是从用户发出请求到收到服务器的响应所经历的延迟。图1是响应时间的示意图。

图1 响应时间示意图

(2)资源使用率

资源使用率是对硬件资源的一种考量,就是系统对某个硬件资源占用百分比。应用系统在运行过程中的资源使用率是衡量系统性能好坏的重要指标,增加硬件资源一般可以暂时消除性能瓶颈现象,待资源耗尽,性能瓶颈会再次出现。

(3)吞吐量

吞吐量是指系统在单位时间内处理请求的数量。单位时间内系统处理的请求量越大说明系统的性能越好,当用户请求数在单位时间内达到系统能够并发处理的最大请求数时,此时的请求数量即为系统的最大吞吐量。

(4)TPS

TPS(Transactions per second)指的是系统在单位时间内执行的事务数量,是衡量系统性能的重要指标。当TPS不断减小时,就意味着系统的性能开始下降。

2 复杂信息系统性能测试的具体应用

2.1 性能测试设计

由于系统的复杂性,需要高效而有序的性能测试管理流程和测试设计来保障,且在过程中不断的定位瓶颈和优化系统;由于性能测试的复杂性,需要引入自动化测试工具来进行人机的相互配合。

2.2 复杂信息系统性能测试验证和结果分析

针对复杂信息系统的特点,选用自动化性能测试工具LoadRunner,利用Vugen来录制、生成编辑脚本,并模拟缓慢加压的场景、执行脚本[5],使用WebGate等工具记录和分析压力过程,定位性能瓶颈和优化系统。

根据上述的测试流程进行验证和分析。

(1)明确测试需求:本次选取某复杂信息系统某个业务系统为测试对象,测试该系统的业务能力及相应的容量数据;

(2)测试执行:选用自动化性能测试工具LoadRunner,录制编辑访问该系统的脚本,模拟缓慢加压的场景。测试开始时压力值为100,然后通过缓慢加压,在各阶段压力下,系统性能表现如表1。

分析测试过程,当压力值在400之前,除了内存占用增长过快外,其他性能指标都正常。当压力值达到500 时,内存占用直接超过80%的警戒值,但系统的吞吐量并没有像预期那样快速增长,当压力值达到600后,吞吐量增长不明显,甚至有下降的趋势。这说明压力值增长到600时,系统已经达到瓶颈。

表1 在各阶段压力下,系统性能表现

(3)测试结果分析和优化:按照性能瓶颈定位的分层模型,本次测试在测试设计时已经排除了硬件和网络因素,直接从系统和数据库入手,系统参数配置和数据库配置均正常,但系统日志里不断报出的“Out of Memory Exception型的错误提示,这是系统运行内存耗尽的迹象。和开发人一起定位分析出现内存泄漏的原因,使用监控工具监控发现,在内存达到java虚拟机垃圾回收的条件时,系统进行了内存回收,但仍有大量的对象没有被释放,其中一个对象仍然存在一千个实例。开发人员分析发现,该对象在使用完成后未及时释放,依然占用内存,从而造成内存泄漏。按照性能优化策略,被占用的内存在使用完毕后要及时释放。开发人修改了代码,使用完的对象强制释放引用,并且在程序整体运行过程中,加强了对整体内存回收的优化。

3 结束语

本文分析了性能测试的基本原理,对系统性能瓶颈的分析和定位进行了研究,总结了一个完整的性能测试、分析、优化过程模型,对快速、准确地找到系统的性能瓶颈,提高系统性能,降低软件开发风险与代价以及保证软件质量具有积极的指导作用。

猜你喜欢

吞吐量瓶颈内存
堵塞:绿色瓶颈如何威胁清洁能源业务 精读
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
在突破瓶颈中成长
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
内存搭配DDR4、DDR3L还是DDR3?
2014年1月长三角地区主要港口吞吐量
再论校园足球发展的瓶颈