银行分布式核心系统性能测试实践.docx

上传人:李司机 文档编号:1964204 上传时间:2022-12-28 格式:DOCX 页数:12 大小:66.49KB
返回 下载 相关 举报
银行分布式核心系统性能测试实践.docx_第1页
第1页 / 共12页
银行分布式核心系统性能测试实践.docx_第2页
第2页 / 共12页
银行分布式核心系统性能测试实践.docx_第3页
第3页 / 共12页
银行分布式核心系统性能测试实践.docx_第4页
第4页 / 共12页
银行分布式核心系统性能测试实践.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《银行分布式核心系统性能测试实践.docx》由会员分享,可在线阅读,更多相关《银行分布式核心系统性能测试实践.docx(12页珍藏版)》请在三一办公上搜索。

1、银行分布式核心系统性能测试实践近年来,民生银行持续推进“分布式+云”架构转型,建设高可靠、高稳定的自主可控的分布式核心系统,逐步推动应用系统分布式化与云原生转型升级。传统垂直架构的性能测试方案已无法满足分布式架构下性能测试的需要,需针对基于分布式架构的应用系统设计一套性能测试的方法与工具。本文中民生银行在分布式核心系统的性能测试实践,保障了分布式核心系统具备超亿级海量数据和毫秒级处理速度的技术要求。一、现状与挑战随着分布式架构在民生银行得到广泛运用,针对传统垂直架构的性能测试方案已无法满足分布式架构下的性能测试的需求。在传统架构下,性能测试更关注单个应用的处理能力以及系统的资源消耗是否满足性能

2、指标,而分布式架构下的情况更加复杂,涉及分布式服务框架、配置中心、消息中心、缓存中心、批量框架、数据访问组件、全局序列、流程引擎、服务治理等多个分布式平台组件,各组件协同配合,实现对分布式核心系统的运行支撑。这些分布式组件必须经过充分的性能验证,确保具备高性能、低时延、高可靠性以及线性扩展能力。此外,分布式服务调用由传统的本地调用转变为远程服务调用,调用耗时随之增加,这也对分布式架构整体的性能、可靠性提出了更高的要求。民生银行分布式核心系统技术平台架构如图1所示。分布式中间件平台服务接入层服务路由访问控制分布式数据访问/分布式事务/缓存数据层数据库(读写分离)数据库(:图1民生银行分布式核心系

3、统技术平台架构2020年,民生银行核心系统架构全面升级为分布式架构,这不仅对被测系统的性能提出了挑战,同时也对传统性能测试方法提出了以下挑战。L测试场景设计复杂本次性能测试涉及的系统模块众多,平台架构复杂,既包括前端的渠道层,也包括后端的集成层、产品层、核心层,不仅需要对各系统模块的联机交易进行性能验证,还需要针对异常、可靠性、稳定性、端到端、批处理等场景进行设计。整个链路中每个可能出现性能瓶颈的环节都需要进行详细的调研和分析,在此过程中,如何确保测试场景设计的全面性,提高测试的有效性和针对性,成为第一道难题。2 .测试数据准备困难本次性能测试需要模拟亿级规模的客户及账户,需要铺底大量的测试基

4、础数据,如何实现海量测试数据的铺底、抽取、使用,成为一个难点。同时,在测试场景调度过程中,测试数据的使用必须尽量贴近实际,测试数据集不能过于集中,需要遵循均衡、分散的原则,避免出现性能热点,因此,传统的采用文件形式提供测试数据的方式已经不再适用。此外,当前性能测试工具也无法一次性加载如此庞大的数据量,迫切需要建造一个集中的海量测试数据资源池。3 .批处理文件准备效率低本次性能测试涉及多个系统批处理场景的测试,需要准备相应的批处理文件,手工准备文件耗时费力,且不利于积累和沉淀,因此急需提供一款具有自动化、定制化、平台化特征的文件生成工具,以高效应对反复的性能回归验证。4 .技术异常模拟困难分布式

5、服务框架采用了多种分布式组件,各组件的可靠性至关重要,需要对各组件进行充分的技术异常验证,包括组件失效、网络中断、应用宕机、数据库宕机、应用服务响应时间变长、数据库响应时间变长、路由转发异常、批处理异常、跨分片调用异常等。如何针对不同类型的异常进行快速的模拟和恢复是本次性能测试面临的另一个挑战。5 .动账流程冗长计提、结息等日终批处理测试需模拟一个季度的全行动账流水,如果仅仅依赖人工调度,将消耗大量人力物力。为了节约测试成本,需考虑使用自动化手段将动账测试数据抽取、场景调度、联机EoD切日、同步变式日期等步骤进行统一调度和执行,减少人工干预,实现全自动化处理。6 .监控结果统计繁琐因分布式核心

6、系统涉及的服务器众多,单次测试需要监控及统计的服务器就达上百台,监控部署、资源收集等工作繁重,通过手工方式收集并分析各项性能指标的效率较低,无法高效、快速地发现性能问题和定位性能瓶颈。二、设计与实现为应对上述挑战,民生银行对系统架构进行了充分调研,设计了全面的测试场景,针对以上痛点分别开发了相关工具,主要包括以下解决方案。1 .测试场景设计针对分布式架构的特性,民生银行在传统性能测试场景设计的基础上,补充了相应的测试场景。(1)联机交易场景联机交易覆盖了各系统模块的关键联机交易接口,测试场景包括独立场景、容量场景、峰值场景、疲劳场景等。独立场景针对单笔交易,采用阶梯增加并发用户数进行负载测试,

7、获取其业务处理性能,并验证交易是否存在并发性问题。容量场景针对容量测试,按照生产业务模型的业务配比,在一定量并发情况下测试交易响应时间、应用服务器、数据库服务器的资源使用情况、交易正确率等指标。通过容量测试,可以模拟实际生产环境中业务处理高峰期的系统压力情况,得到此时的系统性能表现数据,为系统的实际上线运行提供可靠的参考。峰值场景针对特殊时段的场景,如“双十一”等,重点关注系统在峰值压力下的交易响应时间、交易处理能力、交易成功率以及服务器硬件资源消耗情况等指标。疲劳场景主要验证长时间运行情况下的系统稳定性。(2)特殊数据场景此项测试针对特殊数据情况设计了各种测试场景,如客户名下存在大量卡或账户

8、、卡下存在大量账户、账户下有大量交易明细、热点账户、热点证件等,并对不同场景进行性能验证。(3)技术异常场景系统出现异常后进行故障切换或者瞬间高并发、高流量等非正常运行时往往性能情况最复杂,因此需要确保在系统发生异常后,有相应的可靠性保证以及应急处理手段。分布式技术架构复杂,各组件均需要进行可靠性验证测试。本次技术场景设计针对组件失效、网络中断、应用宕机、数据库宕机、应用服务响应时间变长、数据库响应时间变长、路由转发应用异常、批处理异常、跨分片调用异常等场景进行异常模拟测试,重点关注从故障发生到排除故障后系统完全恢复正常所用的时间、数据丢失以及异常处理机制是否符合预期,应急手段是否有效等。(4

9、)线性扩展场景分布式架构系统的处理能力原则上随着硬件资源的增加呈线趋势性增长,因此需要进行线性扩展能力的测试,获取硬件资源与应用软件处理能力之间的对应关系。(5)流量控制验证场景流控机制指在大流量情况下,当并发压力达到流控阈值时,流控机制生效,确保系统得到有效保护,关联系统间流控设计相互匹配。(6)超时机制验证场景本次性能测试涉及的关联模块众多,各模块间需设计合理的超时时间,且与关联系统间的超时相匹配。(7)批处理场景针对结息计提等批处理场景,本次性能测试准备了单季度约62亿笔流水,动账时需设计活跃账户、不活跃账户,每日随机选取一定账户量的活跃账户进行动账模拟,避免某些账户集中动账。结息周期内

10、利率涉及个性化利率、差异化机构定价利率以及基准利率调整等。(8)端到端场景确保全链路各模块服务调用及性能符合预期。2 .测试数据影子库性能测试需要模拟亿级数量规模的客户及账户,涉及个人活期结算账户、个人活期电子账户、普通定期、大额存单、钱生钱、随心存、零存整取、协定存款等众多产品,因此需要根据实际生产情况铺底大量的测试基础数据量。民生银行自主研发了测试数据影子库,在调用分布式核心接口进行客户、账户造数的同时,调用影子库对外提供服务,将生成的关键测试数据同步写入影子库中,且影子库实现了分库分表,在高并发下调用耗时仅毫秒级,对造数效率几乎无影响。后续测试时,通过影子库进行测试数据过滤和数据筛选,且

11、支持随机、顺序、按分行、按证件类型等多维度数据抽取方式,为性能测试脚本、各批处理文件中测试数据的使用提供原始数据支撑。3 .批处理文件生成工具批处理文件的数据量从5万条至数亿条不等,根据不同批处理文件的需求及特点开发对应的工具平台,并与影子库进行了集成,通过调用影子库的服务获取原始基础数据,使数据文件的生成工具化、自动化、规范化。4 .高可控性异常模拟手段本次性能测试使用了民生银行自主研发的混沌实验室平台进行异常场景的模拟(如图2所示)。该平台通过页面化的配置和定制,可以轻松实现网络阻塞、应用宕机、组件失效等异常场景的发生和恢复,极大地提高了异常场景的可控性及可操作性,为顺利、准确地进行异常测

12、试提供了很大的帮助。iSqlmcMtthqVMI1 OS2 CPU3 CRIJUaUMl4 NefWorM5 NefWQrM_Dro(8 MATJVMMBMr999 MrSqtKM10 KBS1BHx!12PMBIB图2混沌实验室异常模拟5.自动化动账本项测试通过自动化程序将动账数据抽取、联机EOD切日、同步变式日期等脚本进行统一调度,实现了自动切换参数文件、自动检查、自动执行等功能,为动账数据准备节省了大量的时间。另外,由于单日动账数据量级达到5500万笔,已有的性能测试工具无法一次性加载如此庞大的数据,因此通过测试数据影子库对外提供的服务,实时获取测试数据,规避了拆分测试场景及测试数据文件

13、的繁杂工作。6.监控统计平台民生银行自主研发的性能测试监控统计平台具备性能测试监控批量启停、统计图表自动生成、计划任务调度、测试环境监测、测试结果管理、性能热点抓取、实时监控集成等功能,极大提高了测试实施工作效率和定位性能瓶颈的速度,通过平台指令集调度,可以同时监控多台服务器并收集结果入库,将性能测试实施过程中的繁琐个人手工操作转移至线上自动处理,不仅规避了手工操作可能发生的遗漏和错误,还为测试监控及结果统计节约了大量的时间。三、实践与成效上述解决方案的成功应用,不仅显著降低了测试成本,提高了测试效率,而且在测试过程中对联机交易场景、结息计提等批处理场景、特殊数据场景、技术异常场景、线性扩展场景、流控超时场景、稳定性场景、端到端场景等进行了多轮测试及优化。在具体成效方面,分布式核心系统的整体处理能力超过5万笔/秒,单笔交易平均耗时30毫秒,并可根据业务需要随时进行动态横向扩展,实现交易处理能力的线性增长,保障了分布式核心系统具备超亿级海量数据和毫秒级处理速度的技术要求,为提高民生银行科技金融的核心竞争力打下坚实基础。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号