资源描述
北京农商银行
新一代综合柜面业务系统
性能测试报告
文 档 编 号
保 密 等 级
作 者
最后修改日期
审 核 人
最后审批日期
批 准 人
最后批准日期
修订记录
日期
版本
修订说明
修订人
2011-10-12
0.1
编写测试报告中的方案部分
王晓华
2011-10-一三
0.2
对测试脚本、测试数据、测试场景进行描述
王晓华
2011-10-25
0.3
整理测试执行结果
王时磊
2011-10-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 软硬件配置 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 项目背景
为解决原有字符终端柜面系统不能处理非线性数据(如图像)的缺陷、解决业务中的柜员离柜问题,并对交易前端的功能性梳理和整合,北京农商银行将实施现有字符终端向图形终端的改造,实施新一代综合柜面业务系统项目。
在新一代综合柜面业务系统全面推广上线前,需要对新系统平台进行性能测试,获取系统的并发处理能力、交易响应时间等性能指标。
1.2 测试目标
本次性能测试的测试目标为:
Ø 获取新一代综合柜面业务系统在测试环境中的性能指标数据
Ø 发现性能瓶颈,协助开发人员进行性能调优,对系统上线提供性能建议和评估
1.3 测试范围
新一代综合柜面系统的架构示意图如下图所示,图中红线虚框为本次性能测试的范围,包括ABS处理平台的后台应用服务器和数据库服务器。
1.4 性能测试指标要求
指标分类
序号
指标描述
是否需求
性能指标
需求数值
备注
系统
处理能力
1
每秒事务数TPS
否
通过性能测试获取系统处理能力峰值
2
典型交易平均交易响应时间ART
否
获取实际指标值
3
批处理效率
否
柜面系统无大数据量批处理任务
4
最大
并发用户数
是
≥50
全行柜面终端数约为2800
5
交易成功率
是
≥99%
系统
资源利用率
6
CPU占用率
是
≤80%
7
内存使用率
是
≤80%
8
I/O使用率
是
≤80%
2 测试方案
2.1 压力模型
本次性能测试采用如下的简易压力模型:
Ø 通过LoadRunner模拟图形终端各柜员向ABS平台发起交易压力
Ø 通过测试环境中的核心业务系统响应柜面交易请求
2.2 交易选择
根据和开发组的沟通,选择如下前端处理比较复杂的典型交易:
编号
交易码
交易名
交易占比
参数化域
备注
1
0210
个人客户信息建立
100%
无
处理较复杂的交易
2.3 测试脚本
根据上述的系统架构示意图,通过LoadRunner的Socket协议录制柜面前端向柜面系统应用服务器发起的柜面交易,发现Socket交互次数(一组send和receive算一次交互)特别多(0210交易51次Socket交互),而且脚本回放时报接收报文长度不匹配错误。
新柜面系统开发组提供了一个测试用的Jar包,将图形前端ABC和后台应用服务器ABS之间的通讯过程进行了封装,通过解析描述型的交易数据文件后向后台提交交易,为此,使用LoadRunner的Java协议,测试脚本中通过调用Jar包中的对象提交柜面交易。使用此测试脚本方案暂时也有如下缺点:
Ø 无法实现交易数据的参数化
Ø 脚本中只能定义各柜面交易执行全过程的长事务,无法对交易中各阶段进行分解分析(比如页面控件响应时间、交易提交响应时间、打印响应时间等)
Ø 测试脚本中无法获取交易执行结果:交易提交后不返回响应特征码,从测试脚本中无法判断交易执行的情况,需要分析后台日志文件或数据库流水表分析交易是否成功(性能测试交易量巨大可能会引起大量的交易结果分析工作量)
Ø LoadRunner统计分析数据失真(因失败交易也当成成功交易进行统一分析)
2.4 资源监控
根据压力测试模型,本次性能测试需要监控如下主机的一些性能指标数据:
v 新柜面系统应用服务器主机(Linux操作系统)
ü CPU – CPU Utilization(CPU使用率%)
ü Memory – Paging rate(内存页交换速率)
ü I/O – Disk Traffic(磁盘交换速率)
v 新柜面系统数据库服务器主机(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 – %Disk Time(磁盘驱动器读写请求已用时间所占百分比)
主机资源指标数据监控的方法:
Ø 优先通过LoadRunner进行监控
Ø 通过操作系统内部指令(如top、vmstat等)
2.5 测试场景
设计如下类型的测试场景:
Ø 基准测试:获取系统处理各典型交易在无压力情况下单笔交易的耗时,为并发场景提供一个基本数据参考。
Ø 并发测试:检验服务器端对每个典型交易多个并发用户的处理能力,获取系统处理性能指标值。
各测试场景设置信息如下:
编号
场景类型
场景名
并发用户数
加压方式
持续
时间
退出方式
思考时间/迭代延迟
交易组合
备注
1
基准测试
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
每一五秒
减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
每一五秒
减50VU
无
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.一三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局域网卡
软件配置
类型
名称
版本
操作系统
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局域网卡
软件配置
类型
名称
版本
操作系统
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 参加测试人员
参加本次性能测试的人员包括:
Ø 王 鹏:测试经理,性能测试总体协调
Ø 高 伟:开发组支持,测试脚本录制和调试
Ø 王晓华:性能测试专家,制订方案、指导测试
Ø 王时磊:性能测试工程师,测试工具、测试场景准备、测试执行
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
测试环境准备
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
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 并发测试
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.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一五
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_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并发时,0210交易的平均交易响应时间为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)应用服务器主机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占用率-虚拟用户数量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占用率-虚拟用户数量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占用率-虚拟用户数量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合并曲线
4)数据库服务器主机CPU占用率-虚拟用户数量VU合并曲线
6 数据分析
对并发场景,根据不同并发数对主要性能指标(TPS、ART、CPU%)进行图表分析如下:
从图中可以看出:
Ø 随着并发用户数增加,TPS缓慢增加。当并发数为250时,TPS达到最大值,约为40tps。
Ø 随着并发用户数增加,ART也随之增加。当并发数大于50时,平均交易响应时间超过2秒的最佳用户体验值。
Ø 在各并发场景中,应用服务器和数据库服务器的CPU占用率均不高,表明主机硬件配置暂时还不会成为系统瓶颈。
7 系统评价
通过在本次性能测试环境中对新一代柜面系统的性能评测,可得到如下基础结论:
1) 新柜面系统在50个以上的并发用户数时均出现较多的交易失败(失败类型包括未收到核心处理结果及交易请求未发往核心系统),新柜面系统在本次测试环境中支持的最大并发数约为40。
2) 当前测试环境下,新柜面系统支持的最大交易处理能力约为40tps,且应用服务器和数据库服务器CPU占用率均不超过25%
3) 在小于50个并发时,平均交易响应约为1.5秒,在最佳用户体验值范围内。
8 测试遗留问题
因测试脚本、测试环境、测试支持等方面的限制,本次性能测试遗留有一些问题留待以后合适的时间进行解决:
1) 测试环境与生产环境的硬件配置有差异(如生产环境应用服务器有负载均衡设备),导致当前测试结果仅能提供一些参考。
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
展开阅读全文