北京农商银行新一代综合柜面业务系统性能测试报告1新一代综合柜面业务系统性能测试报告修订记录目录1 测试简介11.1 项目背景11.2 测试目标11.3 测试范畴11.4 性能测试指标要求12 测试方案22.1 压力模型22.2 交易选择22.3 测试脚本22.4 资源监控32.5 测试场景33 测试环境43.1 网络拓扑图43.2 软硬件配置43.3 测试工具54 测试实施情形6 4.1 测试时刻和地点6 4.2 参加测试人员64.3 测试实施进度65 测试结果65.1 基准测试65.1.1 测试结果65.1.2 分析图表75.2 并发测试75.2.1 测试结果75.2.2 分析图表86 数据分析117 系统评判128 测试遗留咨询题129 附录129.1 性能测试记录表13 9.2 0210交易处理脚本13测试简介项目背景为解决原有字符终端柜面系统不能处理非线性数据(如图像)的缺陷、解决业务中的柜员离柜咨询题,并对交易前端的功能性梳理和整合,北京农商银行将实施现有字符终端向图形终端的改造,实施新一代综合柜面业务系统项目。
在新一代综合柜面业务系统全面推广上线前,需要对新系统平台进行性能测试,猎取系统的并发处理能力、交易响应时刻等性能指标。
性能测试指标要求交易选择按照和开发组的沟通,选择如下前端处理比较复杂的典型交易:测试脚本按照上述的系统架构示意图,通过LoadRunner的Socket协议录制柜面前端向柜面系统应用服务器发起的柜面交易,发觉Socket交互次数(一组send和receive算一次交互)专门多(0210交易51次Socket交互),而且脚本回放时报接收报文长度不匹配错误。
新柜面系统开发组提供了一个测试用的Jar包,将图形前端ABC和后台应用服务器ABS之间的通讯过程进行了封装,通过解析描述型的交易数据文件后向后台提交交易,为此,使用LoadRunner的Java协议,测试脚本中通过调用Jar包中的对象提交柜面交易。
使用此测试脚本方案临时也有如下缺点:无法实现交易数据的参数化脚本中只能定义各柜面交易执行全过程的长事务,无法对交易中各时期进行分解分析(例如页面控件响应时刻、交易提交响应时刻、打印响应时刻等)测试脚本中无法猎取交易执行结果:交易提交后不返回响应特点码,从测试脚本中无法判定交易执行的情形,需要分析后台日志文件或数据库流水表分析交易是否成功(性能测试交易量庞大可能会引起大量的交易结果分析工作量)LoadRunner统计分析数据失真(因失败交易也当成成功交易进行统一分析)资源监控按照压力测试模型,此次性能测试需要监控如下主机的一些性能指标数据:新柜面系统应用服务器主机(Linux操作系统)CPU –CPU Utilization(CPU使用率%)Memory –Paging rate(内存页交换速率)I/O –Disk Traffic(磁盘交换速率)新柜面系统数据库服务器主机(AIX操作系统)CPU –CPU Utilization(CPU使用率%)Memory –Paging rate(内存页交换速率)I/O –Disk Traffic(磁盘交换速率)LoadRunner操纵器和压力产生器主机(Windows XP操作系统)CPU–% Total Processor Time(总的CPU使用率)Memory –Available Mbytes(物理内存的可用数,单位Mbytes)Memory –Page Faults/sec(页面错误导致的页交换计数)I/O –%Disk Time(磁盘驱动器读写要求已用时刻所占百分比)主机资源指标数据监控的方法:优先通过LoadRunner进行监控通过操作系统内部指令(如top、vmstat等)测试场景设计如下类型的测试场景:基准测试:猎取系统处理各典型交易在无压力情形下单笔交易的耗时,为并发场景提供一个差不多数据参考。
并发测试:检验服务器端对每个典型交易多个并发用户的处理能力,猎取系统处理性能指标值。
各测试场景设置信息如下:软硬件配置测试工具测试实施情形测试时刻和地点时刻:2011年10月08日—2011年10月21日地点:北京农商银行空港办公区3楼测试机房参加测试人员参加此次性能测试的人员包括:王鹏:测试经理,性能测试总体和谐高伟:开发组支持,测试脚本录制和调试王晓华:性能测试专家,制订方案、指导测试王时磊:性能测试工程师,测试工具、测试场景预备、测试执行测试实施进度测试结果基准测试测试结果使用测试工具LoadRunner运行测试脚本,统计出测试结果如下(TPS、ART、CPU%均为平均值):编号场景名称并发用户数交易总数成功交易数失败交易数交易成功率TPS(笔/秒)ART(秒)应用服务器CPU %数据库服务器CPU %1 JZ_0210_1_100 1 100 100 0 100.00% 2.1 0.418 3.0% 1.1%在无压力的情形下,0210(个人客户信息建立)的平均交易响应时刻为418ms,其中该交易包括如下完整的交易处理过程(可参见附录2中02 10交易处理脚本):输入交易码后,猎取Frame框架显示内容各输入场输入数据时与后台系统的交互提交交易,猎取核心系统返回结果分析图表测试工具LoadRunner Analysis的TPS图表:测试工具LoadRunner Analysis的ART图表:并发测试测试结果使用测试工具LoadRunner运行测试脚本,统计出测试结果如下(TPS、编号场景名称并发用户数交易总数成功交易数失败交易数交易成功率TPS(笔/秒)ART(秒)应用服务器CPU %数据库服务器CPU %1 BF_0210_10_10m 10 11,451 11,451 0 100.00% 19.0 0.524 12.9% 3.4%2 BF_0210_20_10m 20 15,532 15,532 0 100.00% 25.7 0.779 17.5% 6.4%3 BF_0210_30_10m 30 15,967 15,966 1 99.99% 26.4 1.136 18.2% 7.3%4 BF_0210_40_10m 40 15,987 15,987 0 100.00% 26.4 1.497 18.0% 7.7%5 BF_0210_50_10m 50 22,152 21,791 361 98.37% 30.6 1.452 21.6% 7.7%6 BF_0210_100_10m 100 23,629 19,214 4,415 81.32% 32.6 2.861 20.9% 6.5%7 BF_0210_150_10m 150 22,683 19,747 2,936 87.06% 31.2 4.466 21.1% 7.2%8 BF_0210_200_10m 200 26,133 19,077 7,056 73.00% 36.0 4.955 22.8% 6.9%9 BF_0210_250_10m 250 28,696 16,066 12,630 55.99% 39.5 5.693 23.7% 7.2%10 BF_0210_300_10m 300 22,409 22,315 94 99.58% 30.8 8.757 22.3% 6.2%在并发场景时,显现了如下两种交易失败导致交易成功率不高:并发数达到50时,ABS交易流水表显现记录状态为"x"的记录(未收到核心系统对交易的处理结果),并发数为10、20、30、40时差不多正常并发数达到100及以上时,ABS交易流水表中记录数小于LoadRunner 中记录的实际发送的交易笔数(部分交易数据丢失,未发往核心系统)另外,从表中能够看出:在当前测试环境配置下,新柜面系统的最大处理能力约为40tps在50并发时,0210交易的平均交易响应时刻为1.452秒在各并发场景下,应用服务器和数据库服务器的CPU占用率均不高分析图表场景BF_0210_10_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_20_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_30_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_40_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_50_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_100_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_150_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_200_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_250_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线场景BF_0210_300_10m结果分析图1)交易吞吐量TPS-虚拟用户数量VU合并曲线2)交易响应时刻ART-虚拟用户数量VU合并曲线3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线数据分析对并发场景,按照不同并发数对要紧性能指标(TPS、ART、CPU%)进行图表分析如下:从图中能够看出:随着并发用户数增加,TPS 缓慢增加。