网站首页  词典首页

请输入您要查询的论文:

 

标题 WEB应用系统性能测试研究与实践
范文

    张秋凤

    【摘要】 本文从业务应用系统的实践中,简要介绍了WEB应用系统性能测试的原理、指标及测试场景的选择等,并利用Loadrunner性能测试工具测试企业外网应用系统,模拟和预测真实环境中系统的压力,查找、定位和解决系统存在的问题,从实际运维角度分析了 WEB 应用系统的性能测试的必要性。

    【关键词】 性能测试 性能测试指标 性能测试工具 Loadrunner

    一、引言

    随着互联网上Web及其应用程序的普及,各类基于Web的应用系统以其方便、快速,易操作等特点已经成为软件开发的重点。系统能否提供稳定快速的服务成为评价系统的重要指标。针对Web系统的测试可以从用户界面、系统功能、客户端兼容性、系统性能、应用安全、系统可用性、安装等角度进行,本文主要讨论性能测试的相关内容。

    二、Web应用系统架构

    B/S结构的Web应用系统包括客户端(browser)/服务端(Server),该结构的Web客户端不需要安装任何的程序软件,只需要通过浏览器,就可以实现软件的功能。在这种结构下,用户界面完全通过浏览器实现,简单的事务逻辑在客户端实现,但是主要事务逻辑则在服务器端实现。服务端的体系架构,一般包含表示层、业务逻辑层和数据库层。

    三、性能测试

    3.1性能测试原理

    性能测试是通过自动化的测试工具模拟正常、峰值以及异常等多种负载条件来对系统的各项性能指标进行测试。通过性能测试和调优,验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。

    性能测试需要模拟多人同时访问被测系统来达到验证系统性能的目的。需要借助工具,或者自己搭建相应的性能测试框架来辅助完成。用于性能测试的工具有很多,商业工具如LoadRunner,Silkperformer, Rational Robot等,开源工具如 Apache自带的Web性能测试工具ApacheBench等。

    3.2性能测试指标

    性能测试指标包括客户端交易处理指标、服务器资源监控指标、数据库资源监控指标、Web服务器监控指标、中间件监控指标等。客户端交易处理指标由性能测试工具汇总处理并以报表形式给出,其它测试指标有的测试工具可以提供监控接口,有的则需要针对不同的监控对象采用各种方式采集监控数据,比如,Windows服务器可以通过操作系统自带的性能监视器采集数据。一般情况下,执行性能测试时,至少应该获得客户端交易处理性能指标以及服务器端资源占用性能指标。

    1) 交易处理性能指标

    交易处理性能指标包括并发用户数、响应时间、吞吐量、吞吐率、每秒点击次数等。

    (1)并发用户数:指在同一时刻与服务器进行交互的在线用户数量。这些用户的最大特征是和服务器产生了单向或者双向的数据传输。在线用户不一定会对服务器产生影响,例如正在浏览已经打开的网页的用户,对服务器是没有任何影响的。因为不同系统会有不同的并发特点,所以针对并发用户数的统计没有准确的公式。对于已经存在一定业务数据积累的系统,可根据一段时间内产生的业务量推测出并发用户数量。

    (2)响应时间:指从客户端发起一个请求开始,到客户端接收到服务器端返回的响应结束所用的时间。

    对于一个三层应用架构,响应时间包括了网络传输时间t1、Web服务器t2、数据库服务器的处理时间t3,它的响应时间为t1+t2+t3的时间之和。

    (3)吞吐量:指单位时间内处理的客户请求数量。从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量;从网络角度看,吞吐量可以用:字节/秒来衡量。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,能够说明系统的负载能力。

    (4)请求间隔时间:指用户在操作时,两个操作之间的等待时间,在测试脚本中加入请求间隔时间(有时叫思考时间),用来真实地模拟用户操作。

    2) 服务器端资源占用性能指标

    测试过程中对服务器资源的监控是非常必要的。测试过程中主要监控CPU、内存、网络、磁盘等的使用情况。此外,对于数据库服务器、中间件服务器以及Web服务器等,同时监控数据库、中间件以及Web服务的性能指标。

    3. 3 性能测试场景

    性能测试中涉及的基本场景有两种,即单一业务场景和混合业务场景,这两种业务场景缺一不可,缺少任何一种都不能准确评估系统性能,定位系统瓶颈。

    1) 单一性能点,多用户测试:测试过程可以隔离测试场景,先单独加压测试每种性能需求点,比如,可以单独模拟用户登录的需求,建立比如100人并发登录的场景。由于没有一个系统会设计成在同一个时间内,只能进行一种操作(实际上,在有其他的操作时,100人并发登录的时间肯定会延长),所以此种场景并非是用户实际使用的情况,仅仅是为了检查这一个模块的性能水平。

    2) 混合业务的性能测试场景:按照业务及测试模型梯度加压,以获取系统的最大处理能力,及在各种压力下每个交易的响应时间情况。比如登录的同时有人在进行浏览、查询、写入、上传或下载操作。这一步主要是一个集成测试,考虑各个功能模块之间是否有影响,是否有对某些资源的抢夺等问题。按照混合测试模型,在一定的压力下长时间持续执行测试,观察系统的运行情况(主要关注系统是否稳定,系统是否存在内存泄漏问题等)。

    3. 4 性能测试实践

    被测的应用系统采用B/S模式,服务端采用三层体系架构,是某机关单位外网面向互联网进行采访活动报名和管理的业务系统。测试采用商业测试工具Loadrunner,主要针对不同的并发用户数执行测试,考察系统的响应情况。

    1) 测试工具Loadrunner

    LoadRunner是目前应用最多的测试工具之一,能够在实验室模拟成千上万用户访问被测系统,检验被测系统响应能力。通过在测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈。可适用于各类不同构架的应用。主要包括:脚本录制开发工具(VuGen}、集中控制器(LR Control-ler)、结果分析器(LR Analysis)及压力机(Load Generator等4个组件。

    2)设计测试场景

    测试应选择具有代表性的和使用频繁的业务功能或使用核心技术的功能作为性能采样点,可以由用户指定,也可根据重要功能或关注度作出选择。根据案例系统业务特点,压力主要集中在系统主页访问,采访报名及查询功能页面,以及管理后台的统计报表导出页面。因此测试选取三个功能点:系统主页访问、报名提交与查询、统计报表管理。

    测试场景设计为单点操作性能测试和混合业务性能测试。单点操作性能测试分别针对被测三个功能点执行,根据以往系统最大数据量(系统主页访问量千人级、采访报名数千人级、统计报表管理百人级),再除以10为其最大并发量,设定访问系统主页、报名提交与查询、统计报表管理分别测试200, 100,20个用户并发,测试时脚本请求时间间隔设置为5秒。混合业务性能测试则对三个功能点进行混合压力测试,并发用户数分别设为50、100,访问三个功能点的用户比例为10: 5: 1,测试时脚本请求时间间隔设置为5秒。

    3)分析测试结果

    系统主页访问在200个用户并发时平均响应时间均小于1秒,服务器CPU利用率低于50%、可用内存未见异常波动,该功能点的响应情况满足测试目标的要求。

    统计报表管理在20个用户并发时平均响应时间均小于5秒,服务器CPU利用率低于70%、可用内存未见异常波动,该功能点的响应情况满足测试目标的要求。

    报名提交与查询在100个用户并发时,数据库服务器CPU利用率平均值超过90%,事务平均响应时间达到0.5秒;通过调整数据库参数配置,建立数据库索引,对数据库进行性能优化后,再次对调优后的系统执行回归测试,数据库服务器CPU利用率平均值降低到50%,事务平均响应时间降低到0.25秒。

    四、结束语

    为了保证Web应用的可用性和高效性,必须对Web应用进行严格的测试。通过使用性能测试工具进行大批量并发用户测试,可以模拟和预测真实环境中的系统压力,发现系统存在的问题。

    通过分析测试数据,优化系统的性能。在目前国产化的政策和趋势下,政府机关等单位的等保改造和外网改造项目增多,为了保证业务系统在升级改造后的正常运行,需要结合性能测试的原理和实际情况,不仅要进行功能测试、安全测试,同时,完成充分的性能测试是相当重要的。

    参 考 文 献

    [1]柳纯录,黄子河,陈尿萍,等.软件评测师教程[M].北京:清华大学出版社,2005.

    [2]段念.软件性能测试过程祥解与案例剖析[M].北京:清华大学出版社,2006.

    [3]蔡立志,杨根兴.软件系统性能测试方法初探[J].信息技术与标准化,2005 (7) :44 50.

    [4 ]浦云明,王宝玉.基于负载性能指标的Web测试[J].计算机系统应用,2010 , 19 (5) :220-223.

    [5]姚昕.基于Loadrunner技术的Web性能测试的研究与实现[D].哈尔滨:哈尔滨商业大学,2013.

    [6]芮素娟,丁晓明.Web应用性能测试进展[J].计算机科学,2006,33 (8) :278-280.

    [7]宋巍,张春柳,邹斌亮. WEB应用系统性能测试研究与实践[J].计算机应用与软件,2015,32 (3) :4-6.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/6/23 9:37:28