针对XXXX内存溢出问题
性能测试报告
(仅供内部使用)
拟制:
日期:审核: 日期:审核: 日期:批准:
日期:
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
修订记录
日期 修订版本 描述 作者 第2页,共12页 Page2 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
目录
1 概述 .................................................................................................................................................... 4 2 测试目的 ............................................................................................................................................ 4 3 测试设计 ............................................................................................................................................ 4 3.1 对象分析 ........................................................................................................................................ 4 3.2 测试策略 ........................................................................................................................................ 4 3.3 测试模型 ........................................................................................................................................ 4 3.3.1 测试环境描述......................................................................................................................... 4 3.4 详细测试方法 ................................................................................................................................ 5 3.4.1 测试方法综述......................................................................................................................... 5 3.4.2 并发用户计算及启动 ............................................................................................................. 5 3.4.3 监视统计数据......................................................................................................................... 5 3.4.4 业务模型 ................................................................................................................................ 6 4 测试结果 ............................................................................................................................................ 7 4.1 4.2 4.3
CPU使用情况 .................................................................................................................................. 7 内存使用情况 ................................................................................................................................ 8 页面分解 ........................................................................................................................................ 9
5 测试结论 .......................................................................................................................................... 12
第3页,共12页 Page3 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
XXX(针对内存溢出问题)性能测试报告
关键词:
XXX系统 性能测试 事务响应时间 测试报告
摘 要:
本测试报告用于说明XXXX系统的内存溢出压力测试结果。
缩略语清单:
XXXX:XXXX管理系统
1 概述
本测试报告用于说明XXX系统中的内存溢出压力测试结果。根据客户反馈的情况,XXX系统存在内存溢出的问题,主要体现在系统运行一段时间后,做任意业务操作,会引发内存溢出问题,针对这种情况,分析WEB服务器的配置,执行本次性能测试。
2 测试目的
本次测试是重点是重现XXXX系统的内存溢出问题。根据客户的反馈信息,结合研发同事的建议,执行本次测试,目的在于重现XXXX的内存溢出问题,未涉及功能测试,以测试结果协助研发同事解决问题。
3 测试设计
3.1 对象分析
系统按照B/S(Browser/Server)模式设计。用JSP实现前台,SQL SERVER 2000 做后台数据库。Web服务器使用JBOSS 4.0.2 ,编译器使用JDK1.4.2版本,WEB服务器日志输出调整为ERROR级。
3.2 测试策略
本次测试分别模拟3个用户,虚拟5个IP,进行客户信息新增,客户列表读取,考核标准设置中的评价标准以及新增客户信息等操作,持续运行3个小时与4个小时。
3.3 测试模型 3.3.1 测试环境描述
1. 测试环境需求 1 系统环境标准配置:
第4页,共12页 Page4 Total12
主机用途 机型/OS 针对XXXX内存溢出问题性能测试报告 文档密级 秘密
台数 1 1 1 CPU/台 1 1 1 Web服务器 Windows 2003 Server 数据库服务器 Windows 2003 Server 测试代理服务器 Windows XP 2. 测试工具要求
内存容量/台 1G 2G 512M 对应IP 192.168.1.39 192.168.1.212 192.168.1.99 PC 1台,LOADRUNNER 8.0 性能测试工具。 3. 测试代码要求
准备好测试数据,系统资源,开启web服务。JBOSS配置java内存为最小350M,最大 700M。
3.4 详细测试方法
本部分主要描述测试方法,资源监控及测试启动等方面内容。
3.4.1 测试方法综述
根据XXX系统中的权限管理机制,同一IP只能同时登录一个用户,这样模拟多个用户就需要多个不同的IP,否则权限系统会拒绝登录,无法模拟实际的情况,故采用IP欺骗方法,虚拟出5个不同的IP进行测试。根据客户反馈的结果分析,选取XXXX系统中的关键业务点:客户信息新增,客户列表读取,考核标准设置中的评价标准以及新增客户信息,分别模拟3个IP,3个用户,4个用户,4个IP,持续的运行3个小时,4个小时的测试场景。测试在这样的压力,系统是否抛出内存溢出问题。
3.4.2 并发用户计算及启动
第一次测试模拟3个用户,同时启动浏览客户列表,新增客户信息操作,持续运行3个小时。第二次测试模拟4个用户,同时启动浏览客户列表,新增客户信息,浏览客户的考核标准信息等,持续运行4个小时。
3.4.3 监视统计数据
根据性能测试的目的,主要对WEB服务器的CPU、内存、进行监控和分析。因测试服务器与测试代理机在同一网段内,故忽略网络因素。本次测试没有监控数据库资源使用情况。下表列出了主要需监控的选项。 监控计数点 WEB服务器 CPU 内存
描述
测试过程中CPU的使用率 测试过程中内存使用率
第5页,共12页 Page5 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
3.4.4 业务模型
第一次测试模拟3个用户在前台进行XXXX系统客户列表浏览,客户信息新增操作。业务流程如下:
XXXX系统:
1、 使用用户帐号登录(用户名test,密码111)登陆到http://192.168.1.39:8080/ws, 2、 选择“客户管理”标签,进入客户管理系统; 3、 在“档案管理”页面进行新增操作;
4、 另外一个用户使用用户名admin,密码111,登录客户系统,在“档案管理”处进行客户
信息的浏览,实际是不间断刷新客户查询列表;
第二次测试模拟4个用户在前台进行XXXX系统客户列表浏览,客户信息新增操作,考核标准中的评价标准浏览。业务流程如下:
XXXX系统:
1、 使用用户帐号登录(用户名test,密码111)登陆到http://192.168.1.39:8080/ws, 2、 选择“客户管理”标签,进入客户管理系统; 3、 在“档案管理”页面进行新增操作;
4、 另外一个用户使用用户名admin,密码111,登录客户系统,在“档案管理”处进行客户
信息的浏览,实际是不间断刷新客户查询列表;
5、 使用用户bj,密码111,登录客户系统,在“考核标准”中浏览“评价标准”页面。
第6页,共12页 Page6 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
4 测试结果
4.1 CPU使用情况
第一次测试
第二次
第7页,共12页 Page7 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
从上面两张图可以看出,在第二次测试,增加了考核标准中的评价标准浏览页面的测试后,WEB服务器的CPU使用率基本维持在98左右。由此可以推测考核标准中的评价标准页面可能存在性能问题。
4.2 内存使用情况
第一次
第8页,共12页 Page8 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
第二次
由以上两幅图可以看出,WEB服务器的可用物理内存在第二次测试时,出现了下降的趋势,在下降一定程度后,维持不变,说系统被用掉的物理内存没有及时释放,通过比较前后两次测试的差别,可以推测客户评价标准处可能存在内存泄漏问题。
4.3 页面分解
第9页,共12页 Page9 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
http://192.168.1.39:8080/crm/archive/providerInfoAction.do?saveInfo=true
http://192.168.1.39:8080/crm/archive/archiveTreeAction.do?isList=true&providerTypeId=hege&providerType=合格客户
以上是第一次测试结果中,对页面进行分解后,得出的相关页面在服务器处理端的耗时情况。
第10页,共12页 Page10 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
http://192.168.1.39:8080/crm/evaluatesys/evaluateStanMain.do?rootStalkID=1
http://192.168.1.39:8080/crm/evaluatesys/ListRootEvaluateStan.do?bySort=true&infoType=INFORMATION
以上是第二次测试客户评价标准相关页面的分解情况。其他的为详尽列出。
第11页,共12页 Page11 Total12
针对XXXX内存溢出问题性能测试报告 文档密级 秘密
具体的页面请研发同事自行分析。
5 测试结论
本次测试共执行2次,第一次执行3小时,第二次执行4小时。整个测试过程出现两次错误报告。测试结论如下:
1、
通过比较两次测试结果,差别较大的是体现在第二次增加了考核标准中的评价标准页面浏览操作,WEB服务器的CPU,内存都有比较大的变化,由此可以推测考核标准中的评价标准页面可能存在问题;
2、
通过分解测试对象的相关页面,发现几个主要操作,涉及到数据库查询,添加的操作,在服务器端的耗时比较长,特别体现在客户列表的读取。故推测客户列表处的sql语句可能存在问题,可优化;
3、
WEB服务器的配置也是一个值得研究优化的地方,如何使WEB服务器发挥最大效能,请研究同事解决;
4、
在测试过程中,监控WEB服务器端的console发现,系统打出了比较多的日志信息,其中有类似这样的sql语句:
16:13:02,140 INFO [STDOUT] Hibernate: select count(*) as col_0_0_ from XXX_WS_WSPACE_NOTICE notice0_ where ((RELEASESTATE='已发布' )and(ISDELETE not like '%测试员%' )and(RELEASE_BY!='测试员' )and(RELEASE_SCOPE like '%开发部%' ))or((RELEASE_By='测试员' )and(ISDELETE not like '%,测试员,%' ))
建议对此类的sql语句进行优化。
通过本次测试,虽未能重现XXXX系统的内存溢出的问题,但在一定程度上可以推测系统中的某些地方存在一定的问题,有优化空间。
第12页,共12页 Page12 Total12
因篇幅问题不能全部显示,请点此查看更多更全内容