路漫漫其修远兮。。。

<<一个用友系统的性能测试案例 >>

上一篇 / 下一篇  2010-02-12 09:42:42 / 个人分类:LoadRunner Document

软件性能是衡量软件质量优劣的一个重要指标。性能测试是为描述测试对象与性能相关的特征并对其进行评价,而实施和执行的一类测试,如描述和评价计时配置文件、执行流、响应时间以及操作的可靠性和限制等特征。不同类型的性能测试侧重于不同的测试目标,这些性能测试的实施贯穿于整个软件开发生命周期。

  性能测试主要包括负载测试、压力测试和容量测试。其中负载测试是为了检验系统在给定负载下是否能达到预期性能指标;压力测试是通过不断向被测系统施加“压力”,测试系统在压力情况下的性能表现;容量测试针对数据库而言,是在数据库中有较大数量的数据记录情况下对系统进行的测试。

  一、用友政务软件的特点

  用友GMAP平台是针对我国电子政务建设而开发的软件平台,该平台基于J2EE技术、针对政务部门管理应用的政务软件平台,它可以跨平台应用(Unix、LinuxWindows等),零客户端维护,支持多种大型数据库,安全保密机制的考虑也比较完善。

  此外,用友GMAP平台在技术架构上颇有特色,是一款“平台/部件”技术架构的产品,基于此平台开发的产品由“平台”和“部件”两大部分构成,通过平台可以迅速开发、灵活部署和运行业务系统。而通过部件来实现业务需求。

  软件的性能是客户关心的内容,为了提高GMAP平台的性能和测试平台的性能特性, CSIP赛普软件评测中心结合自己在性能测试与调优方面的优势,对GMAP平台进行了性能测试和调优。

  二、性能测试环境及准备

  本次性能测试的目标有二:第一,在现有的测试环境下,通过测试发现系统的性能瓶颈所在;第二,在配置的测试环境,能满足系统用户响应时间要求前提下,测试系统承载的最大并发用户数,以及在给定数据量情况下,测试关键业务的响应时间。

  测试范围是测试运行GMAP3.1依赖它的业务模块,通过业务系统的主要功能来反映GMAP平台的性能。

  本次测试使用的性能测试工具是Compuware公司的QALoad,它能够在一台机器上模拟多个并发用户对服务器发出请求,同时它能够收集系统吞吐量和响应时间信息等信息。整个测试过程都是在微软的Windows 2003和SQL Server 2000(SP3)环境下进行测试,因为在系统中保存凭证是比较典型的操作,它对应用服务器和数据库服务器都执行相应的操作,所以我们将以保存凭证的用例为例,对整个测试过程进行说明。

  为了更真实的模拟实际应用环境,测试设备是当前主流硬件配置:4×P4 Xeon 2.8G CPU/4G内存/ 3×146G HDD(Raid5)/ 100M 网卡,应用服务器的中间件我们使用了Weblogic server8.1(SP4),数据库选择了MS SQL Server 2000(SP3),操作系统都是Windows 2003简体中文版。根据业务的需要,我们在数据库中部署了10万条数据。我们测试所用的设备都是当前流行的硬件配置,用三台计算机构成了100M的局域网(如下图所示)。


三、性能调优过程和测试结果

  根据客户的要求,本次性能测试不包括对应用程序的调优,主要是对应用服务器上的中间件以及数据库进行优化。我们调优的方法是对系统进行加压,直到系统出现错误或服务器的CPU利用率持续超过75%,找到系统的瓶颈,再通过对影响瓶颈的因素进行优化。

  首先使用测试工具QALoad运行用例保存凭证,我们开始运行 10个并发用户,之后每2分钟增加10个并发用户的方式来对系统进行加压。系统在120、140和170个并发用户数时,应用服务器的CPU利用率也超过 75%,但是数据库服务器的CPU利用率只有18%左右,具体参数如下:

  当并发用户数大于120时,系统出现异常,通过监视中间件Weblogic的日志,我们发现以下信息:在处理系统异常的过程中发现 response已经提交或getOutPutStream方法已被调用,系统异常为Java.Lang.Illegal State Exception:定向到/ListPage发生IOException,Java.net.Socket Exception: Software caused connection abort: Socket write error。

  根据以上测试的结果,经过我们专家组的分析和用友技术人员的讨论,我们认为系统的瓶颈是在应用服务器上,由于本次测试不包括对应用程序的调优,所以只对中间件Weblogic进行优化。

  我们请BEA公司的技术专家来到现场进行分析和讨论,最后讨论结果是对中间件WebLogic以下方面进行优化:比较不同的Java虚拟机、比较不同的参数Java虚拟内存、比较不同的Java执行线程计数、比较不同的JDBC连接缓冲池中初始容量。因为这些组件和参数是影响系统异常和应用服务器繁忙的因素。

  由于客户能够容忍的响应时间为8S,我们在用例保存凭证上运行20个并发用户,比较系统在不同公司的虚拟机J2sdk1.4.2.08和 JRockit1.4.2.05、以及不同JAVA虚拟内存1024M和1536M、不同Java执行线程计数和不同JDBC连接缓冲池初始容量的测试结果,测试结果如下:

  比较以上的测试结果,考虑到该测试环境的内存为4G,为了保证系统在保存大数据量的时候内存不发生溢出,我们认为该系统采用BEA公司的 JRockit1.4.2.0虚拟机、设置Java虚拟内存为1536M、Java执行线程计数为40以及JDBC连接缓冲池初始容量为40,该配置是我们理想的系统配置。

  客户一般能够容忍系统的响应时间为8S,测试系统在上面比较理想的系统配置下的最大并发用户数:

  四、总结

  经过CSIP的性能测试和调优,GMAP平台的性能得到了较大的提高,提高了用友政务软件的质量,使用友政务的产品在市场上有了更强的竞争力。从测试结果看,该软件的性能表现的很稳定,在微软的Windows 2003和SQL Server 2000(SP3)平台上部署一个200-300用户的运行环境是完全可以承受的。


TAG:

 

评分:0

我来说两句

EasternCowboy

EasternCowboy

To be a devout priest !

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 21499
  • 日志数: 49
  • 图片数: 3
  • 建立时间: 2009-08-21
  • 更新时间: 2011-03-16

RSS订阅

Open Toolbar