X1数据库仿真测试系统-
网银数据库大版本升级
背景:随着科技的发展, 数据库 厂商不断进行版本升级,某银行为了提高数据库运行效率大量要将大量量DB2数据库由V9.1升级到V10.5版。随之带来的问题是DB2V10.5是否支持应用系统发出的所有正常数据库操作?所有交易是否能正常执行完成?各种语句类型和数据类型是否都能执行通过?
解决方案 :使用上线演习系统获取到生产数据库上的真实交易语句,通过备份还原生产数据库建立测试数据库,将测试数据库的版本升级为V10.5,然后通过上线演习系统的回放程序回放真是交易语句,比较回放交易与原始数据的正确性,统计对比失败SQL语句内容,两项对比如果基本一致说明,数据库升级不会对生产造成影响,一旦发现回放时的正确率大幅下降,或者某类SQL语句失败次数异常,则说明升级后数据库无法正常运行,不适合升级。
中间业务平台性能压力测试
背景:某银行2013年双十一期间中间业务平台的高峰期交易量可达平时的10倍,每秒钟的交易量达到800以上,而在2014年的双十一交易量将会进一步增加,增幅可能会超过50%,面对这样的交易量,数据库是否能够正常运行?可能发生的问题是什么?怎样避免出现问题?一旦出现问题需要进行哪些调整?
解决方案: X1系统可以通过网络包获取到中间业务数据库上发生的真实交易语句,然后将交易按照增加交易速度8倍-16倍的方式,加速回放到测试数据库中,从而模拟双十一的数据库运行压力,检测数据库能否承受这种压力。
在测试数据库进行参数或版本升级调整后,再次进行回放交易则可以明确性能调整的解决方案,保障数据库生产运行。
B1和支票系统故障重现和调优
背景:农商行2014年大部分数据库都升级到11g,均正常,于是想把支票影像业务(oracle-10g) 迁移 到B1系统(oracle-11g)中,但升级之后B1库的IO性能很差坚持不到一天就卡死。农商行设计了很多方案,但连续两次升级均失败,无法得知原因。目前,农商行生产线上就支票影像系统单独一个使用oracle-10g数据库。
解决方案:
—针对事故现象,按照设计的测试场景,反复重现现象;
—分析事故现象的交易数据:每条交易,每张表,每条语句的响应时间,执行次数,执行结果等,找出对数据
库产生影响的因素,生成解决方案。
—按照用户生成的解决方案,重新进行模拟在线测试,观察数据库反应;并对测试数据分析,观察每条交易每
条语句的响应时间等结果并与上次做对比,优化方案
—对最终方案进行反复的 压力测试 ,直到回放统计的数据正常,数据库反应正常,确定无问题为止。
某市政府Oracle迁移国产数据库兼容性测试
背景:某市政府执行可信升级,将某业务系统的数据库Oracle迁移国产数据库兼容性测试,国产数据库设计完全兼容Oralce语法,在应用不变的场景下,如何保证数据库切换成功,兼容旧系统的所有SQL?
解决方案:
录制原业务oracle数据库的所有通讯流量,通过X1回放到国产数据库,将回放结果与原始报文进行多维度比对分析,输出兼容性测试报告,大大降低企业数据库切换所造成的业务风险。