1、 北京农商银行 新一代综合柜面业务系统 性能测试报告 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 2011-10-12 0.1 编写测试报告中的方案部分 王晓华 2011-10-一三 0.2 对测试脚本、测试数据、测试场景进行描述 王晓华 2011-10-25 0.3 整理测试执行结果 王时磊 2011-10-
2、28 0.4 数据分析和修订 王晓华 目 录 1 测试简介 1 1.1 项目背景 1 1.2 测试目标 1 1.3 测试范围 1 1.4 性能测试指标要求 1 2 测试方案 2 2.1 压力模型 2 2.2 交易选择 2 2.3 测试脚本 3 2.4 资源监控 3 2.5 测试场景 4 3 测试环境 5 3.1 网络拓扑图 5 3.2 软硬件配置
3、5 3.3 测试工具 6 4 测试实施情况 7 4.1 测试时间和地点 7 4.2 参加测试人员 7 4.3 测试实施进度 7 5 测试结果 8 5.1 基准测试 8 5.1.1 测试结果 8 5.1.2 分析图表 8 5.2 并发测试 9 5.2.1 测试结果 9 5.2.2 分析图表 10 6 数据分析 23 7 系统评价 25 8 测试遗留问题 25 9 附录 25 9.1 性能测试记录表 26 9.2 0210交易处理脚本 26 1 测试简介 1.1 项目背景 为解决原有字符终端柜面系统不能处理非线性数据(如图像)的缺陷、解决业务中的柜
4、员离柜问题,并对交易前端的功能性梳理和整合,北京农商银行将实施现有字符终端向图形终端的改造,实施新一代综合柜面业务系统项目。 在新一代综合柜面业务系统全面推广上线前,需要对新系统平台进行性能测试,获取系统的并发处理能力、交易响应时间等性能指标。 1.2 测试目标 本次性能测试的测试目标为: Ø 获取新一代综合柜面业务系统在测试环境中的性能指标数据 Ø 发现性能瓶颈,协助开发人员进行性能调优,对系统上线提供性能建议和评估 1.3 测试范围 新一代综合柜面系统的架构示意图如下图所示,图中红线虚框为本次性能测试的范围,包括ABS处理平台的后台应用服务器和数据库服务器。 1.4
5、 性能测试指标要求 指标分类 序号 指标描述 是否需求 性能指标 需求数值 备注 系统 处理能力 1 每秒事务数TPS 否 通过性能测试获取系统处理能力峰值 2 典型交易平均交易响应时间ART 否 获取实际指标值 3 批处理效率 否 柜面系统无大数据量批处理任务 4 最大 并发用户数 是 ≥50 全行柜面终端数约为2800 5 交易成功率 是 ≥99% 系统 资源利用率 6 CPU占用率 是 ≤80% 7 内存使用率 是 ≤80% 8 I/O使用率 是 ≤80% 2 测试方案
6、 2.1 压力模型 本次性能测试采用如下的简易压力模型: Ø 通过LoadRunner模拟图形终端各柜员向ABS平台发起交易压力 Ø 通过测试环境中的核心业务系统响应柜面交易请求 2.2 交易选择 根据和开发组的沟通,选择如下前端处理比较复杂的典型交易: 编号 交易码 交易名 交易占比 参数化域 备注 1 0210 个人客户信息建立 100% 无 处理较复杂的交易 2.3 测试脚本 根据上述的系统架构示意图,通过LoadRunner的Socket协议录制柜面前端向柜面系统应用服务器发起的柜面交易,发现Socket交互次数(一组send和receive
7、算一次交互)特别多(0210交易51次Socket交互),而且脚本回放时报接收报文长度不匹配错误。 新柜面系统开发组提供了一个测试用的Jar包,将图形前端ABC和后台应用服务器ABS之间的通讯过程进行了封装,通过解析描述型的交易数据文件后向后台提交交易,为此,使用LoadRunner的Java协议,测试脚本中通过调用Jar包中的对象提交柜面交易。使用此测试脚本方案暂时也有如下缺点: Ø 无法实现交易数据的参数化 Ø 脚本中只能定义各柜面交易执行全过程的长事务,无法对交易中各阶段进行分解分析(比如页面控件响应时间、交易提交响应时间、打印响应时间等) Ø 测试脚本中无法获取交易执行结果:交
8、易提交后不返回响应特征码,从测试脚本中无法判断交易执行的情况,需要分析后台日志文件或数据库流水表分析交易是否成功(性能测试交易量巨大可能会引起大量的交易结果分析工作量) Ø LoadRunner统计分析数据失真(因失败交易也当成成功交易进行统一分析) 2.4 资源监控 根据压力测试模型,本次性能测试需要监控如下主机的一些性能指标数据: v 新柜面系统应用服务器主机(Linux操作系统) ü CPU – CPU Utilization(CPU使用率%) ü Memory – Paging rate(内存页交换速率) ü I/O – Disk Traffic(磁盘交换速率) v 新
9、柜面系统数据库服务器主机(AIX操作系统) ü CPU – CPU Utilization(CPU使用率%) ü Memory – Paging rate(内存页交换速率) ü I/O – Disk Traffic(磁盘交换速率) v LoadRunner控制器和压力产生器主机(Windows XP操作系统) ü CPU– % Total Processor Time(总的CPU使用率) ü Memory – Available Mbytes(物理内存的可用数,单位 Mbytes) ü Memory – Page Faults/sec(页面错误导致的页交换计数) ü I/O –
10、 %Disk Time(磁盘驱动器读写请求已用时间所占百分比) 主机资源指标数据监控的方法: Ø 优先通过LoadRunner进行监控 Ø 通过操作系统内部指令(如top、vmstat等) 2.5 测试场景 设计如下类型的测试场景: Ø 基准测试:获取系统处理各典型交易在无压力情况下单笔交易的耗时,为并发场景提供一个基本数据参考。 Ø 并发测试:检验服务器端对每个典型交易多个并发用户的处理能力,获取系统处理性能指标值。 各测试场景设置信息如下: 编号 场景类型 场景名 并发用户数 加压方式 持续 时间 退出方式 思考时间/迭代延迟 交易组合 备注 1
11、基准测试 JZ_0210_1_100 1 同时 运行完成 同时 无 0210 2 并发测试 BF_0210_10 10 同时 运行完成 同时 无 0210 3 并发测试 BF_0210_20 20 同时 运行完成 同时 无 0210 4 并发测试 BF_0210_30 30 同时 运行完成 同时 无 0210 5 并发测试 BF_0210_40 40 同时 运行完成 同时 无 0210 6 并发测试 BF_0210_50_10m 50 每一五秒 加10VU 10m 每一五秒
12、 减10VU 无 0210 7 并发测试 BF_0210_100_10m 100 每一五秒 加200VU 10m 每一五秒 减20VU 无 0210 8 并发测试 BF_0210_一五0_10m 一五0 每一五秒 加300VU 10m 每一五秒 减30VU 无 0210 9 并发测试 BF_0210_200_10m 200 每一五秒 加40VU 10m 每一五秒 减40VU 无 0210 10 并发测试 BF_0210_250_10m 250 每一五秒 加50VU 10m 每一五秒 减50
13、VU 无 0210 11 并发测试 BF_0210_300_10m 300 每一五秒 加60VU 10m 每一五秒 减60VU 无 0210 注:根据全行柜面终端数约2800的统计数据,最大并发数为终端数的10%~一五%(经验值),选择最大300并发的场景。 3 测试环境 3.1 网络拓扑图 本次性能测试环境的网络拓扑图如下:(其中核心系统使用测试环境中的172.16.12.6主机) 3.2 软硬件配置 新一代柜面系统应用服务器 硬件配置 主机型号 CPU 4C8U,Intel(R) Xeon(R) CPU E5506 x 2.一
14、三GHz 物理内存 8G 硬盘容量 276G IP地址 192.一五6.33.6 网络设备 100M局域网卡 软件配置 类型 名称 版本 操作系统 SUSE Linux Enterprise Server 10 (x86_64) 应用软件 JDK/JRE 1.6.0_23 新一代柜面系统数据库服务器 硬件配置 主机型号 IBM 8202-E4B CPU Power 6,4C8Ux3000MHz 物理内存 16G 硬盘容量 70G IP地址 192.一五6.33.一八 网络设备 100M局域网卡 软件配置 类型 名称 版
15、本 操作系统 AIX Version 5.3 数据库 Oracle 10g 10.1.0.2.0 核心业务系统主机 硬件配置 主机型号 IBM AS400 CPU 物理内存 硬盘容量 IP地址 172.16.12.6 网络设备 100M局域网卡 软件配置 类型 名称 版本 操作系统 OS 400 数据库 LR控制器/压力产生器 硬件配置 主机型号 PC CPU 2C x 2.2G 物理内存 1G 硬盘容量 160G IP地址 172.16.一五.14 网络设备 100M局域网卡 软件配
16、置 类型 名称 版本 操作系统 Microsoft XP Professional SP2 应用软件 HP LoadRunner 8.1 英文版 3.3 测试工具 序号 工具名称 用途及说明 厂商 版本 1 LoadRunner 性能测试工具,Java协议(License并发数为300) HP 8.1 英文版 4 测试实施情况 4.1 测试时间和地点 时间: 2011年10月08日 — 2011年10月21日 地点: 北京农商银行空港办公区3楼测试机房 4.2 参加测试人员 参加本次性能测试的人员包括: Ø 王 鹏:测试经理,
17、性能测试总体协调 Ø 高 伟:开发组支持,测试脚本录制和调试 Ø 王晓华:性能测试专家,制订方案、指导测试 Ø 王时磊:性能测试工程师,测试工具、测试场景准备、测试执行 4.3 测试实施进度 编号 任务 开始日期 结束日期 责任人 1 讨论和制订测试方案 2011-10-08 2011-10-10 王晓华 2 测试工具准备 2011-10-08 2011-10-08 王时磊 3 测试脚本编制、调试 2011-10-08 2011-10-一三 王时磊 4 测试场景准备 2011-10-12 2011-10-12 王时磊 5 测试环境
18、准备 2011-10-一三 2011-10-一三 王鹏 6 测试执行 2011-10-21 2011-10-21 王时磊 7 编写《测试报告》 2011-10-25 2011-10-28 王晓华 5 测试结果 5.1 基准测试 5.1.1 测试结果 使用测试工具LoadRunner运行测试脚本,统计出测试结果如下(TPS、ART、CPU%均为平均值): 编号 场景名称 并发 用户数 交 易 总 数 成功 交易数 失败 交易数 交易 成功率 TPS (笔/秒) ART(秒) 应用服务器CPU % 数据库服务器CPU % 1
19、 JZ_0210_1_100 1 100 100 0 100.00% 2.1 0.4一八 3.0% 1.1% 在无压力的情况下,0210(个人客户信息建立)的平均交易响应时间为4一八ms,其中该交易包括如下完整的交易处理过程(可参见附录2中0210交易处理脚本): Ø 输入交易码后,获取Frame框架显示内容 Ø 各输入场输入数据时与后台系统的交互 Ø 提交交易,获取核心系统返回结果 5.1.2 分析图表 测试工具LoadRunner Analysis的TPS图表: 测试工具LoadRunner Analysis的ART图表: 5.2 并发测试
20、 5.2.1 测试结果 使用测试工具LoadRunner运行测试脚本,统计出测试结果如下(TPS、ART、CPU%均为平均值): 编号 场景名称 并发 用户数 交 易 总 数 成功 交易数 失败 交易数 交易 成功率 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 一五,532 一五,532 0 100.00% 25
21、7 0.779 17.5% 6.4% 3 BF_0210_30_10m 30 一五,967 一五,966 1 99.99% 26.4 1.一三6 一八.2% 7.3% 4 BF_0210_40_10m 40 一五,987 一五,987 0 100.00% 26.4 1.497 一八.0% 7.7% 5 BF_0210_50_10m 50 22,一五2 21,791 361 98.37% 30.6 1.452 21.6% 7.7% 6 BF_0210_100_10m 100 23,629 19,214 4,4一
22、五 81.32% 32.6 2.861 20.9% 6.5% 7 BF_0210_一五0_10m 一五0 22,683 19,747 2,936 87.06% 31.2 4.466 21.1% 7.2% 8 BF_0210_200_10m 200 26,一三3 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_
23、10m 300 22,409 22,3一五 94 99.58% 30.8 8.757 22.3% 6.2% 在并发场景时,出现了如下两种交易失败导致交易成功率不高: 1) 并发数达到50时,ABS交易流水表出现记录状态为"x"的记录(未收到核心系统对交易的处理结果),并发数为10、20、30、40时基本正常 2) 并发数达到100及以上时,ABS交易流水表中记录数小于LoadRunner 中记录的实际发送的交易笔数(部分交易数据丢失,未发往核心系统) 另外,从表中可以看出: Ø 在当前测试环境配置下,新柜面系统的最大处理能力约为40tps Ø 在50并发时,021
24、0交易的平均交易响应时间为1.452秒 Ø 在各并发场景下,应用服务器和数据库服务器的CPU占用率均不高 5.2.2 分析图表 v 场景BF_0210_10_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_20_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务
25、器主机CPU占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_30_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_40_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU
26、占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_50_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_100_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚
27、拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_一五0_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_200_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数
28、量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_250_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数量VU合并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 v 场景BF_0210_300_10m结果分析图 1)交易吞吐量TPS-虚拟用户数量VU合并曲线 2)交易响应时间ART-虚拟用户数量VU合并曲线 3)应用服务器主机CPU占用率-虚拟用户数量VU合
29、并曲线 4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线 6 数据分析 对并发场景,根据不同并发数对主要性能指标(TPS、ART、CPU%)进行图表分析如下: 从图中可以看出: Ø 随着并发用户数增加,TPS缓慢增加。当并发数为250时,TPS达到最大值,约为40tps。 Ø 随着并发用户数增加,ART也随之增加。当并发数大于50时,平均交易响应时间超过2秒的最佳用户体验值。 Ø 在各并发场景中,应用服务器和数据库服务器的CPU占用率均不高,表明主机硬件配置暂时还不会成为系统瓶颈。 7 系统评价 通过在本次性能测试环境中对新一代柜面系统的
30、性能评测,可得到如下基础结论: 1) 新柜面系统在50个以上的并发用户数时均出现较多的交易失败(失败类型包括未收到核心处理结果及交易请求未发往核心系统),新柜面系统在本次测试环境中支持的最大并发数约为40。 2) 当前测试环境下,新柜面系统支持的最大交易处理能力约为40tps,且应用服务器和数据库服务器CPU占用率均不超过25% 3) 在小于50个并发时,平均交易响应约为1.5秒,在最佳用户体验值范围内。 8 测试遗留问题 因测试脚本、测试环境、测试支持等方面的限制,本次性能测试遗留有一些问题留待以后合适的时间进行解决: 1) 测试环境与生产环境的硬件配置有差异(如生产环境应用服务
31、器有负载均衡设备),导致当前测试结果仅能提供一些参考。 2) 受测试脚本、挡板程序开发进度的限制,本次性能测试仅选择一个0210典型交易,无法执行更能模拟生产情况的混合业务场景。 3) 稳定性场景也需要在混合场景的基础上进行长时间的测试执行,以考察新一代柜面系统提供持续服务的能力。 4) 脚本无法进行参数化,网点开门时柜面并发登录的场景暂无法模拟,也无法获得系统支持的最大连接柜员数 5) 达到50个并发后出现大量的交易失败,需要开发组定位问题原因,修改后再进行回归验证 6) 在达到最大tps时,服务器CPU占用率并不高,系统瓶颈还需要和开发组进行分析验证 9 附录 9.1 性能测试记录表 9.2 0210交易处理脚本 3.2.202518:4318:43:3625.3.26时43分6时43分36秒3月. 2, 252 三月 20256:43:36 下午18:43:36 2025年3月2日星期日18:43:36






