__________________________________________________
CBS系统性能测试方案
2019年12月
__________________________________________________
__________________________________________________
目 录
__________________________________________________
__________________________________________________
1.1 测试目标与范围
1.1.1 测试目标
随着中国银行银行核心村镇银行业务量的持续增长,以及业务场景的日趋复杂。贵行决定籍生产系统更换硬件之际,通过性能测试对新硬件能够承载的业务量进行摸底,同时根据性能测试在贵行具体情况下的执行效果,考虑未来扩大性能测试应用范围和常态化的规划,本次CBS性能测试的目的如下:
➢ 获取CBS系统典型交易的响应时间、交易成功率、资源消耗等性能指标; ➢ 验证CBS系统的业务处理能力是否满足性能需求,符合上线条件; ➢ 获取CBS系统的最大、最优处理能力及性能拐点;
➢ 验证CBS系统能否稳定运行,支持7*24小时连续不间断运行; ➢ 验证CBS系统在极限压力下的性能表现;
1.1.2 测试范围
核心系统ControllerAP1AP2AP 外围挡板压力发起器ORACLEDB1DB2
本次性能测试,只测试CBS系统自身的处理能力,不包括外围系统、以及外围系统挡板自身的性能,既上图所示红色方框标注部分(详细CBS系统内部架构参见:1.3.1章节)。
__________________________________________________
__________________________________________________
1.2 测试需求
根据项目组提供的历史数据,性能需求估计值为:日交易量最高约110万笔,其中金融交易约74万笔,查询交易36万笔,按照系统每日处理业务80%的交易量集中在20%时间内发生,业务峰值处理能力应不低于55万笔/小时、150笔/秒。
计算公式如下:
峰值每小时业务量 = 最高日交易量*80%/(8小时*20%) ≈ 55万笔/小时; 峰值TPS = 峰值每小时业务量/3600 ≈ 150笔/秒。 1.2.1 业务模型分析
结合项目组提供的历史数据及核心系统处理特点,得出本次测试的业务模型如下:
序号 交易码 UC01 0375 0377 AC01 0031 0034 0341 IHD0 0052 AC07 0359 0361 外围系统 ATM 快捷 快捷 ATM CBS CBS CBS CBS CBS ATM CBS CBS 交易名称 本行卡银联ATM取款-他代本 快捷支付转入 快捷支付转出 行内ATM取款 行内转账存入(非支票) 行内转账支取(非支票) 零售接口-转出 普通汇兑来账 现金存入 行内CDM现金存入 代收付转账(卡-非票据)-转出 代收付转账(卡-非票据)-转入 占比(%) 11.37% 9.15% 9.15% 7.77% 7.62% 7.62% 6.54% 4.88% 4.78% 4.73% 3.84% 3.84% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 业务模型一(普通日)
序号 1 2 交易类型 抽取交易数 交易占比 业务模型二(特殊日)
附:CBS典型交易及交易量分析 __________________________________________________
__________________________________________________
CBS性能测试典型交易V0.4.xlsx
1.2.2 测试模型分析
结合CBS业务模型分析及系统特点,推导出测试模型如下:
序号 交易码 3001 UC01 6012 2117 0375 0377 AC01 0031 0034 0341 IHD0 0052 AC07 0359 0361 3004 0128 外围系统 交易名称 占比(%) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ATM ATM 网银 网银 快捷 快捷 ATM CBS CBS CBS CBS CBS ATM CBS CBS ATM CRM ATM余额查询 本行卡银联ATM取款-他代本 活期帐户余额查询 交易明细查询 快捷支付转入 快捷支付转出 行内ATM取款 行内转账存入(非支票) 行内转账支取(非支票) 零售接口-转出 普通汇兑来账 现金存入 行内CDM现金存入 代收付转账(卡-非票据)-转出 代收付转账(卡-非票据)-转入 ATM转账 存款开户 测试模型一(普通日)
15.00% 9.10% 9.00% 9.00% 7.32% 7.32% 6.22% 6.09% 6.09% 5.23% 3.91% 3.83% 3.79% 3.07% 3.07% 1.00% 1.00% 序号 1 2 交易类型 抽取交易数 交易占比 结息 1 1 测试模型二(特殊日)
83% 17% 代发工资 __________________________________________________
__________________________________________________
1.3 测试环境 1.3.1 CBS架构图
1.3.2 测试环境软硬件配置表
IP地址 服务器名称 挡板前置机 10.39.2.115 场景控制机 资源监控机 PC/windows 10.39.2.116 压力发起机 1 2008 4C 8G LR11 agent 1 数量 服务器型号 PC/windows DB2 2008 4C 8G LR11 controller CPU 内存 软件部署 1.3.3 生产环境软硬件配置表
IP地址 服务器名称 数量 服务器型号 CPU 内存 软件部署 __________________________________________________
__________________________________________________
10.91.1.14 \\ 10.91.1.15 10.91.1.8 \\ 10.91.1.9
应用服务器 2 8C 操作系统: AIX 6.1 TL6 SP3 中间件: CTG 8.0.0.3 MQ :7.0.1.4 32G 数据库: ORACLE 11.2.0.2 编译器:VAC 11.1 其他: Control-M/Agent 7.0.0.100 CD 4.0 数据库服务器 2 24C 96G 操作系统: AIX 6.1 TL6 SP3 数据库: ORACLE 11.2.0.2 RAC 1.4 测试策略
1.4.1 挡板设计
本次测试过程中涉及的挡板程序,由测试组人员开发提供,通过部署在的机器上,模拟交易处理过程。
1.4.2 脚本设计
➢ 脚本开发
本次性能测试使用的脚本是通过LR工具SOCKET、HTTP等协议开发的,开发过程中脚本名称、事务名称、参数名称、参数化文件名称等,要求按照测试部制定的脚本开发规范执行。
如:ATMP_AC01_行内ATM取款V1.1 ➢ 事务设置
本次性能测试LR是通过发送、接收报文来完成交易的,因此我们需要在脚本中插入三个事务,即:发送、接收以及总体事务,细化脚本中的事务,更有利于准确定位测试中遇到的性能问题。
如:ATMP_AC01_行内ATM取款_发送报文 ➢ 注释说明
本次性能测试中所有脚本,要求按照测试部制定的脚本注释规范执行,涉及部分主
__________________________________________________
__________________________________________________
要包括:版本、修订历史、脚本开发人员、维护人员、日期等,另外,对于脚本中的特殊函数、异常处理、成功标识等也要添加注释信息。 如:/*调用LR关联函数,获取系统报文返回状态码*/
/*通过比较系统返回报文状态码,判断交易是否成功*/
➢ 交易成功检查
在脚本中设置检查点,通过判断返回报文的成功标识与预期结果的一致性; 在测试过程中查询数据库,通过对比数据表中的数据与发起交易的一致性。
1.4.3 案例设计
CBS性能测试案例v1.0.xls
1.4.4 场景执行策略
➢ 建立场景
按照性能测试案例及测试部制定的场景命名规范,统一建立测试场景。 如:CBS混合场景_10V_50M_AP异常.lrs ➢ 运行时设置
1、 2、 3、 4、 5、 6、 7、 8、 9、
用户数设置,如基准为1vu,单交易负载10、20、30、40、50等; Run Up设置,如每5s增加10vu;
场景持续时间设置,如单交易负载10m,稳定性24h; ThinkTime = 0;//可根据实际情况调整 迭代次数 = 1;//可根据实际情况调整
日志设置,不打印或只打印错误日志;//调试期间开启标准/扩展日志 代理设置,根据网络实际情况设置; 缓存设置; Etc
➢ 结果目录设置
非LR安装目录分区下目录(非系统盘),且确保磁盘空间充足。
__________________________________________________
__________________________________________________
➢ 结果命名规则
按照测试部规范命名 如:18_CBS系统 _稳定性_02
1.5 测试实施准备 1.5.1 测试环境准备
根据测试环境需求,准备相应主机服务器及相应数据库、应用软件,保证其版本、补丁配置与生产环境一致,确保网络无通讯故障。
1.5.2 测试工具准备
根据测试协议进行LoadRunner11软件Controller、Generator安装,并申请相应许可LICENSE设置。本次涉及LR协议为SOCKET\\HTTP等协议,需要虚拟用户要求为500。
工具类型 名 称 厂商/自产 用 途 测试脚本开发 性能测试工具 LoadRunner 11.0 HP-Mercury 配置测试场景和运行测试 测试结果收集、分析 作为部分交易挡板,模拟外GIT 围系统返回报文 AWR(可执行权限,需安装EM) 数据库监控,oracle自带的ORACLE 性能分析工具 监控、获取CPU、内存、硬其他 盘、网络等资源使用情况 挡板工具 EASYESB 数据库监控工具 主机资源监控工具 Nmon(可执行权限)
1.5.3 测试数据准备
根据测试数据需求对数据库数据分析预估后确认,本次测试存量数据需使用现有数据,通
__________________________________________________
__________________________________________________
过数据迁移及数据漂泊进行埋数;对于测试脚本中涉及的参数化数据,如渠道流水号、TransDate等,由脚本开发人员准备,并进行测试结果验证。
1.6 测试执行
1.6.1 基准测试
测试目的:
测试各交易在系统无压力情况下的处理能力和响应时间,为测试结果的数据分析提供基线。
测试方法:
选用测试模型中的各支交易,分别使用LR模拟前端接入系统发送交易请求并接收返回结果,在系统无压力情况下,单用户迭代100次,获得各交易的处理能力和响应时间。 1.6.2 单交易负载
测试目的:
测试各交易在系统无压力情况下,多用户并发的处理能力和响应时间,验证交易是否存在并发性问题。
测试方法:
选用测试模型中的各支交易,分别使用LR模拟前端接入系统发送交易请求并接收返回结果,在系统无压力情况下,采用10并发用户,执行10分钟,获得各交易的处理能力和响应时间。
1.6.3 混合场景
测试目的:
测试各交易按照测试模型中的配比并发执行时,系统的处理能力和交易响应时间,验证交易是否存在并发性问题。
测试方法:
根据测试模型,对不同的测试模型,分别采用梯度增加压力的方式,测试系统在不同测试模型下的性能表现。压力增加梯度,暂定为10Vusers开始,梯度增加10Vusers,直到测出各
__________________________________________________
__________________________________________________
测试模型最优TPS、出现性能拐点及系统出现瓶颈(资源超过安全范围、响应时间超过测试指标定义、成功率低于测试指标定义等)。
1.6.4 异常压力
测试说明:
测试CBS系统在异常压力下的性能表现。 测试步骤:
通过LR模拟前端接入系统发起交易,在监控系统处理能力的同时执行以下操作: 1. 模拟系统正常处理能力的120%进行测试; 2. 模拟系统正常处理能力的150%进行测试; 3. 模拟系统正常处理能力的200%进行测试。 1.6.5 稳定性测试
测试目的:
测试CBS系统不间断运行时,处理能力是否稳定。 测试方法:
按照正常交易日测试模型,用LR模拟前端接入系统发送交易请求并接收返回结果,采用系统日常处理能力80%的压力,持续运行24小时以上,测试系统的稳定性。
1.6.6 内存泄露
测试说明:
测试CBS系统在长时间运行的情况下是否存在内存泄露。 测试步骤:
1. 参考稳定性测试场景;
2. 根据行业经验或开发组建议添加特殊交易; 3. 长时间运行此场景,如持续24小时或以上; 4. 监控是否存在内存泄露问题。
__________________________________________________
__________________________________________________
1.6.7 回归测试
测试说明:
对调优后的CBS系统进行回归测试,验证性能问题是否得到有效解决。 测试步骤:
通过LR模拟前端接入系统发起交易,在监控系统处理能力的同时执行以下操作: 1. 针对前期测试中存在问题的场景进行回归测试,参考上述步骤;
1.7 测试实施准则
1.7.1 启动准则
➢ 测试目标经过确认; ➢ 业务指标经过确认; ➢ 业务模型建立完毕; ➢ 测试环境准备完毕,包括:
系统通过功能测试,应用版本已稳定;
测试数据准备完毕,基础数据以及测试数据已经导数据库;
LoadRunner相应协议的License、压力发生器及控制台机器已经准备完毕; 测试环境设备安装调试完毕;
应用服务器安装成功,待测试版本已正确部署; 测试客户端机器到位,系统软件安装完毕; 网络配置正确,连接通畅,可以满足压力测试需求; 测试计划审核、批准完毕。
以上条件,必须全部满足才能开始性能测试执行。 1.7.2 暂停/再启动准则
暂停准则:
➢ 测试任务、方案、计划等发生重大变更
➢ 系统测试重大问题发现:包含技术测试过程中若发现被测系统重大BUG需要暂停修复 ➢ 测试环境受到干扰,比如服务器被临时征用,或服务器的其它使用会对测试结果造成
__________________________________________________
__________________________________________________
干扰
➢ 需要调整测试环境资源,如加减CPU数目,增加存储等等 再启动准则:
➢ 测试中发现问题得以解决 ➢ 测试环境恢复正常 ➢ 环境调整完毕 1.7.3 退出准则
满足下列条件之一时,可以结束性能测试执行:
➢ 完成测试范围规定的所有测试场景,系统性能能够满足业务处理要求; ➢ 由于其它原因导致测试长时间不能开展;
➢ 经多次调优后仍不满足性能需求,且无法继续优化,给出最终测试结果。
1.8 测试风险分析
风险发生序号 风险描述 可能性 新硬件升级进度是否按计划完成,决定后续1 性能测试进入时间及执行进度 测试过程中可能会出现操作系统、中间件、2 数据库、应用系统异常,导致的测试无法进行 3 4 中 该风险会影响测试进度,对测试结果的影响较大 测试组 寻找解决方案 项目组 分析异常原因,高 试进度 测试组 调整测试计划 该风险会影响测综合组 及早发现问题,目的影响 风险对测试或项责任人 规避方法 __________________________________________________
__________________________________________________
1.9 测试交付物
测试阶段 序号 调研阶段 1 2 3 准备阶段 4 5 6 报告阶段
7 提交件名称 银行核心CBS系统性能测试实施计划.mpp 银行核心CBS系统性能测试方案.doc 银行核心CBS系统性能测试案例.xls 银行核心CBS系统性能测试脚本.rar 银行核心CBS系统性能测试监控结果.rar 银行核心CBS系统性能测试结果.rar 银行核心CBS系统性能测试测试报告.doc 提交人 测试组 测试组 测试组 测试组 测试组 测试组 测试组 __________________________________________________