商业银行主机程序性能研究

时间:2022-10-30 02:57:29

商业银行主机程序性能研究

随着商业银行各类业务需求的急速增长,主机项目投产和程序变更势在必行,但程序投产带来的风险也不容小觑。若投产程序性能较差,不仅会消耗较多的主机资源,而且在业务高峰时期更容易达到性能瓶颈,引起交易大面积拥堵,造成业务连续性降低和客户满意度下降等不良影响。本文从制度和流程两方面,深入探讨和研究主机程序性能管控方法,严控程序投产带来的性能风险。

一、主机程序投产简介

当前主机程序投产流程主要包括业务需求分析、开发、测试、评审、投产、验证、总结和反馈等环节。首先由业务部门提出业务需求,开发部门对业务需求进行分析并开发源代码;再由测试部门对主机程序进行功能测试和性能测试;在程序投产前,由科技管理部门通过召开月度投产会的形式,组织开发、测试和运维等技术部门分别从管理要求和专业角度评审待投产项目是否满足投产条件,对于满足投产条件的项目由主机部门进行投产;之后由业务部门和开发部门分别进行投产后的业务验证和技术验证;最后由主机部门进行投产后的总结和反馈。主机程序投产流程如图1所示。主机程序投产牵涉部门众多,流程也较为复杂,从程序性能管控方面来说,任何一个环节出现问题,都会导致投产后程序性能不佳,从而引起一系列不良影响。主要的性能风险如下:(1)开发环节程序设计缺陷,主机程序在某一个逻辑分支出现死循环,导致投产后主机CPU资源消耗增大,性能出现瓶颈。(2)测试环节由于缺乏统一的测试准入标准,导致性能测试不充分,测试总结报告中未针对程序性能问题给出明确的投产建议。(3)评审环节由于性能测试报告结论表述不清晰,缺乏统一的投产准入标准,导致主机程序性能评审不到位。(4)投产后的总结反馈环节缺乏统一的主机程序优化标准和有效的反馈机制,通常只有当核心系统整体性能指标出现异常时,我们才能顺藤摸瓜,逐层排查出单个程序的性能问题,因此缺乏对单个程序的性能优化监控标准和完善的性能问题反馈体系,存在性能问题发现不及时的风险。综上所述,主机程序投产流程环环相扣,牵一发而动全身。从程序性能管控方面来说,项目投产前的投产评审环节和项目投产后的总结反馈环节至关重要,直接决定了主机程序能否予以投产以及程序投产后若发生性能问题,能否及时进行反馈和优化。

二、主机程序性能管控措施

商业银行科技部门从投产前的评审环节和投产后的总结反馈环节入手,制定了相应的性能管控措施。首先,为明确主机程序性能测试标准和性能优化标准,使项目评审环节和总结反馈环节有据可依,分别制定了程序投产前的准入标准和程序投产后的运行优化标准;其次,为配合新标准在各个相关部门间有效运行,明确各部门的职责划分,建立了主机程序投产后的总结反馈机制。1.制定程序投产标准。(1)制定程序投产前准入标准为了保证主机程序投产后的性能符合要求,投产前的性能测试和投产评审环节必不可少。为此,商业银行各科技部门大力配合,由测试中心牵头,基于测试实践数据制定了《主机应用程序性能测试投产准入规范》(以下简称《规范》),为性能测试工作人员提供明确的测试关注指标,使得主机应用性能测试有据可依,测试结果数据更加真实有效,简化了主机性能测试流程,优化了测试方法,明确了主机应用程序性能标准,从源头上控制了投产性能风险。根据该《规范》,测试人员在待投产项目的《性能测试报告》中提出投产建议,为评审项目投产是否达标提供依据。对于在性能测试中不符合投产准入标准的程序,在月度投产会评审过程中可直接否决其投产。《规范》是主机应用程序开发、测试和投产三方协调的基础,是主机系统应用程序投产上线和安全运维的有力保障。准入条件见表1。(2)制定程序投产后运行优化标准《规范》主要是针对增量的程序在投产前进行有效的性能风险管控,而存量的程序则涉及较少。如何在主机程序投产后规范程序性能,及时优化性能不佳的程序,防范主机程序性能风险,成为了商业银行主机部门一个新的课题。为了规范主机应用程序运行,合理使用主机资源,主机部门根据多年核心系统生产运行和问题分析的经验,总结整理出与生产主机容量和安全相关的包含单笔交易CPU消耗、交易平均响应时间等在内的13类性能指标,见表2。根据生产运行情况,对Appbuilder程序与C语言程序分别执行两套CPU消耗标准,按不同交易类型设置不同优化标准,并根据实际情况对各个性能指标制订分档标准。按生产运行结果的不同档次与交易量和交易品种数相结合,明确主机应用程序在投产后是否需要优化,并给出具体的投产后的优化建议。此外,增加了死锁、超时等指标的投产优化规定以及给生产带来隐患的调试信息的检查,最终制定了《主机应用程序运行性能优化规范》(以下简称《优化规范》)。该规范一方面评估主机程序投产后对生产主机资源的使用是否合理,另一方面评估主机程序是否编写规范,从而保证主机系统的安全运维。优化条件见表3。2.建立主机程序投产后的总结反馈机制。为更好地落实《优化规范》,使该制度全面覆盖项目投产后的程序性能监测及日常运维。主机部门建立了主机程序投产后的总结反馈机制,主要包括以下三个方面。(1)加强主动运维模式。通过日常监控、投产后主动对比分析和定期健康检查等方式,监控投产后的程序性能是否符合《优化规范》。(2)引入问题管理机制。通过引入问题管理机制,规范主机程序投产后的程序性能问题管理,明确各单位的职责,加强问题根源分析和解决,防止问题重复发生。当前程序性能问题管理的角色共分为三类:问题报告角色、问题管理角色以及问题处理角色。①问题报告角色。主要指商业银行主机部门一线运维人员,若在主动运维中发现性能不佳的程序,可通过在IT服务台提交问题单的形式,及时向问题管理岗反馈,提请软件开发中心限期优化,并提供具体的程序性能报告,帮助开发部门进行分析。②问题管理角色。主要是指商业银行科技部门管理人员,通过在IT服务台上受理程序性能问题并分派问题处理部门,敦促问题分析与解决。③问题处理角色。主要是指商业银行科技部门软件开发人员,通过在IT服务台上制定程序性能问题处理计划、分派问题处理人处理问题和定期在问题处理关键节点向问题管理岗反馈问题进展。问题管理跟踪机制流程如图2所示。(3)引入定期优化反馈机制。若主机程序投产后引发的程序性能问题是由多个程序互相调用所致,非投产程序本身的问题,而是底层程序的问题,不适用于问题管理机制,需要多方协调沟通解决,则引入定期优化反馈机制。通过定期召开季度应用问题交流会,由商业银行科技管理部门牵头,组织多个开发部门协调沟通,共同解决程序性能优化问题。根据新规范,主机部门运维人员在主动运维中共梳理出十余笔性能不佳的交易,通过运用成熟的总结反馈机制,这些交易已全部完成优化改造工作,主机系统的单笔交易CPU消耗有了明显的下降,从而大幅降低主机系统的资源成本和运维风险。

三、总结与展望

截至2017年底,主机程序性能管控措施已在农业银行全部主机程序投产项目中推广使用,性能指标监控更全面细致,问题管控机制有效运行,大大降低了主机投产程序的性能风险,同时也节约了主机的资源成本,对同业的资源成本控制和程序性能管控具有良好的借鉴作用。主机程序性能管控是一项长期任务,今后农业银行将采取以下措施持续进行改进和完善。(1)两部规范中的性能指标与标准以及相关的问题管控措施将在今后的应用过程中不断改进完善,并随着生产运行情况的变化定期更新指标值。(2)大力推进自动化监控和自动化分析报告的推送工作,使得性能问题排查更全面。(3)进一步明确主机程序投产过程中各部门的职责划分,优化投产审批流程,增加性能测试的覆盖面,严格把控投产的第一道防线,真正做到防患于未然。

作者:顾佳倩 曾剑鹿 单位:中国农业银行数据中心