交通行业基于业务型数据库性能分析的一种程序优化检测方法

来源 :中国信息化 | 被引量 : 0次 | 上传用户:wenlingqiang6268047
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读

一、引言


  当前交通行业在开发、实施各种业务类应用程序时,往往有以下两大痛点。一是,程序的性能质量无法评估和考核。当前的现状是,使用方通常能够轻易确认功能需求是否已实现,但难以确认为实现这些功能,其后台的代码质量、结构质量是否合理,是否造成了其他方面的影响。从而使程序上线之后,因性能质量不佳,为使用者带来的风险和经济损失。二是程序所需的系统资源无法精确评估。程序投入真实运营之前,无法较为精确的评估程序所需要的各种系统资源的数量,从而使企业在部署这些程序时,要么资源过多造成了较大的设备浪费,要么资源不足,影响上线之后的系统性能。本研究通过一种程序优化检测方法及系统,对企业研发的应用程序进行质量评估,从而确保应用程序开发的质量和运营效果。

二、研究对象与特点


  (一)研究对象
  本次研究对象为交通行业,所选取的样本为神朔铁路所有已经上线的业务系统。
  (二)研究特点
  当前交通行业的各种业务系统其业务源端都是关系数据库,在数据库端借助数据库的性能视图,可以了解和掌握各种业务软件访问数据库的代码特征和程序所对应的数据结构特征,这些特征表现为数据库运行期间的各种性能统计信息,并从这些统计数据中导出获得性能量度,在紧急情况下,访问这些量度在与当前的情况做比较,通过查看这些过去的事件统计信息以给当前的问题带来启发,由于数据库管理员必须自始至终都密切关注可能会对他们所管理的各个系统的可用性或者性能有负面影响的潜在性能问题,因此不断采集相关统计数据对于性能分析变得很重要。
  1. 借助数据库性能视图
  本研究的基本方法是借助对关系数据库性能视图中数据的定期采集,通过分析、比对实现程序性能质量的评估。本研究正是借助这些保存在数据库内存性能视图中的原始运行数据,通工加工分析,实现业务程序性能质量的评估的。
  2.以结果为导向
  本研究是以结果为导向的性能评估方法。我们认为软件的性能质量评估的结果毫无疑问应当与最终结果,即用户体验相一致或相接近,因此,本研究中衡量性能质量的各个指标,反映的是以用户体验相对应的各个维度。

三、研究方案


  我们通过两套数据采集和处理方式,实现对程序质量从基本面到具体问题点的追溯分析。
  (一)第一套方案:周期性数据采集+三层数据加工方法
  1.周期性数据采集
  分为三个采样频率。周期性地采集数据库性能视图内的信息,如Oracle数据库的各种V$开头的性能视图,Sqlserver则多为dm_开头的性能视图,DB2多为sysibmadmin下的表或视图。这些信息包括且不限于数据库状态、数据库结构、性能指标计数器、等待事件、SQL执行统计、SQL执行计划等;通过周期性的收集整理数据库性能视图,从而对关系数据库端的应用程序质量、数据结构质量和配置质量进行分析。



  2.三层次数据加工
  将获取到的大量目标数据库的原始运行数据进行时间切片、特征箍选等一系列数据加工,采样到的原始数据最多会进行三轮的箍选和加工,从而为软件前端的功能显示准备好直观明确的呈现内容。
  具体的采集和加工逻辑如下图:
  (二)第二套方案:触发式采集+算法库数据处理
  因扰企业的应用类问题有一个主要的特点是,问题的原因往往只在问题刚刚引发时能够追踪到痕迹,很多应用类问题事后是无法被重现和追溯的。因此,我们采用一套独创的触发式逻辑,以确保能在问题刚刚发生(或刚刚出现征兆时)追踪并保留下问题的根源数据。具体如下:
  在第一种周期性采样中,每分钟会收集数据库的状态、性能计数器等信息,因为当系统出现异常时,首先会体现到这些状态和性能计数器上,这样当监测系统在发现收集到的指标有异常时,首先确定是何种指标异常,然后再根据事先设置好的程序逻辑,立刻针对性的采集与这种异常相关的程序运行信息。这里提到的“事先设置好的程序逻辑”,在于我们在本研究中专门为多种已知的、不同问题,分别准备一套不同的程序处理逻辑,我们将所有这些不同程序处理逻辑的集合,称之为算法库,以应对不同问题的不同处理方法。
  简单来说,整个触发式采集+算法库处理逻辑大概分為三个步骤:
  步骤1:借助第一种方法周期性采集中的短周期采集,如每分钟一次扫描数据库性能视图中的各项性能计数器和状态信息。



  步骤2:如果在短周期性采集中,一旦发现某一数据库的性能计数器或数据库状态信息异常,则触发针对这类异常问题信息的收集和处理。
  步骤3:这类异常问题具体的数据收集方式和数据处理方法将根据事先存放在软件算法库中的逻辑进行。
  步骤4:算法库的作用不光是数据采集与处理,还包括针对具体问题的数据个性化展示,不同的问题以不同可视化方式进行呈现。

四、研究结果


  根据以上两套研究方案,我们对神朔铁路各个业务系统进行程序质量评估以及具体问题的详细分析,以下是本次研究得到的信息:



  关于本次研究得到的信息,我们对主要问题进行说明介绍:
  (一)应用等待
  例如在TGIS系统中,当一个客户端系统试图更新一行数据时,另一个客户端系统正在更新同一行数据,这时,后发起的这次更新请求就必须等待前者完成后才能进行,这就产生了应用等待,在交通管理系统中,出现极短时间的应用等待可以允许,但我们认为如果应用等待大于逝去时间的5%,对交通系统的影响就非常明显示了,系统响应慢,客户的响应时间过长,造成整个业务无法高效运行。通常优化的方式是確定造成应用等待的具体程序和具体语句,在逻辑允许的情况下通过修订代码、增加系统资源、规范操作等方式避免类似问题再度发生。
  (二)硬解析
  Oracle数据库中的一个指标hard Parse,这个值高,意味着一些常用的程序SQL语句没有使用绑定变量,而各种交通管理系统均为业务系统(OLTP),意味着这些系统中大量运行的都是逻辑类似的执行请求,当使用绑定变量时,同一逻辑的执行请求只需要解析更一条执行计划,而当没有使用绑定变量时,同一逻辑的执行请求,请求有多少,就会产生多少执行计划,这就是大量硬解析的产生原理,这个过程中会占用大量的CPU和内存资源,通过测试我们认为在交通管理系统中每秒硬解析值在15以内是比较合理的,如果更高业务响应时间将明显变慢。通常优化的方式是找到这些造成硬解析高的语句,在不需要修改语句逻辑的前提下,更改语句的写法,使之运用绑定变量。
  (三)登录数
  这个数值取决于程序的工作任务是否采用了短连接设置,例如在调度系统中,一列火车的调度安排任务是分解为多条SQL语句去执行的,有经验的开发人员会将代码设置为在开始任务时连接数据库,任务语句全部处理完毕后再断开数据库;但如果开发人员将代码设置为每执行一条SQL语句就登入登出系统一次,就会产生大量的系统登录行为,这时无论系统的硬件配置有多高端,在大量用户访问时都会感觉系统响应慢,业务处理时间过长,通过对于多个交通系统的长期测试,我们认为每秒登录数<15是相对于各种交通管理业务系统最合理的指标值。通常优化的方式是确定具体使用短连接的任务,在逻辑允许的情况下修订其连接方式。
  (四)并发等待
  开发人员可以在代码中指定让一个处理任务以并发的方式进行处理,以起到加快处理时间的目的,但并不是所有的处理任务都适合于并发处理,有些任务的处理有明确的顺序逻辑,这种任务被设置为并发处理时,先处理完成的子任务就被迫要等待其他子任务完成才能往下执行,这种等待事件就是并发等待。并发等待产生的原因,一是如上所述的程序逻辑不适用并发的地方用了并发,二是程序部署的系统条件太差,资源不够,造成较多的并发等待。通常的优化方式是根据以上的并发等待两个原因,通常优化方式一是通过观察代码段的逻辑,看是否需要去掉或减少并发度,二是增加系统资源。

五、结语


  根据研究结果,我们最终选定反映程序性能质量各个核心性能指标的推荐值,以此来监测和确保业务系统的程序质量和部署质量始终是最优的。如下表所示:





  本次所有研究是在神朔铁路的已上线业务系统之上完成的,因此,我们认为本研究的结论,这种程序优化检测方法,首先适用于神朔铁路,其次,我们认为该方法也适用于与神朔铁路业务特征类似的其他企业,即整个交通行业,可为交通行业业务性能质量提升提供参考。
  业务程序的性能质量评估和考核是软件行业的集体痛点,也是未来软件行业必须攻克的重要课题。随着大数据技术的飞速发展,将会有越来越多的软件细分领域,通过程序优化,构建起业务程序质量评估体系,助力软件质量实现质的飞跃。
  作者单位:国家能源集团神朔铁路分公司
其他文献
近年来,随着信息技术的飞跃式发展,和各项社会分工之间的联系更加紧密,对于医院来说,每天都要处理大量的事务,要和庞大的人员群体进行对接,在传统模式下,由于人力的局限性,不仅耗时长久,精确性也无法得到确切保障,而在信息系统应用之后,依托于信息技术强大的信息传递能力和信息处理能力,能够有效提高各项事务的处理效率,进而提高医院整体运行速度。但同时,机遇与挑战同在,在享受信息系统便利的同时,也应当注意到由此
随着新时代国家对美育工作的高度重视,基础教育音乐名师队伍建设成为全面加强美育工作的重要前提.然而,受“地位边缘感”的影响,音乐教师在专业成长中依然面临着三大困境:学科地位困境、专业发展困境和团队建构困境.基于此,笔者提出了“有情、有心、有业、有成”四大策略,以期通过价值引领、制度引领、专业引领、成就引领,提高音乐名师队伍的培养质量,进而引领更多基础教育音乐教师的专业成长,并最终促进音乐教育教学的改革与发展.
期刊
电信行业经过近三十年的高速发展,已步入成熟期,电信运营商传统的运营模式已经遇到了瓶颈,其表现为:核心业务被侵蚀、用户增长遇到天花板、收入增长趋缓、利润逐步下滑,行业盈利能力不断下降;网络基础设施不适应新业务发展;产业链的主导力与影响力减弱;行业缺少新鲜血液的补充等。电信行业是滑入衰退期,还是适应新的数字经济环境,抓住新的增长机遇,探索新业务及新商业模式,重返快速增长的成长期。本文从为什么做?做什么
在以全球化和大数据为特征的新时代,教师专业化结构式发展和教师队伍建设内涵式发展成为教育国际化的核心竞争力.针对各学科教师队伍缺乏准入机制、量化标准和体系建设,成都市成华区教育科学研究院以推动各学科内涵发展、优化教师队伍建设为己任,开展了关于“基于胜任力的区域教师培训课程体系构建研究”的省级课题研究,音乐学科也参与其中.rn我们在文献研究中发现,与音乐教师胜任力有关的信息非常少,只有少数关于音乐教师胜任力模型建构的方法指导和简单的模块要素,缺乏体系建构.因此,我们结合时代发展、学科价值和内涵,认真分析关于新
期刊
2020年10月13日,中共中央、国务院印发了《深化新时代教育评价改革总体方案》,在“改进高等学校评价”中提出“改进师范院校评价,把办好师范教育作为第一职责,将培养合格教师作为主要考核指标”.基于此,笔者关注到近年来师范类高校毕业生在教学能力方面与用人单位的实际需要不匹配的问题日益凸显,其中以音乐师范生重专业技能而轻教学技能的问题尤为突出.因此,探索新时代高师音乐师范生应具备的教学能力等相关问题,既是音乐师范生就业的关键,也符合新时代教育改革与教师发展的迫切需求.
期刊
引言rn2016年被称为中国网络直播元年,之后网络直播逐步发展成为最受学生欢迎、效果最好的一种在线教学方式,并得到了广泛应用和研究.在抗击新冠肺炎疫情的过程中,网络直播教学也发挥了难以替代的重要作用,成为学术研究的热点话题.①学术界对网络直播教学涉及的师生交互行为、学习行为和效果等方面做了大量研究,如清华大学的马婧和韩锡斌等人以量化的形式,对某高校师生在线教学群体行为的特点开展的实证研究,分析了师生之间的授课与接受行为②;厦门大学胡小平基于全国57所高校的线上教学质量报告及福建、山东两省课程平台数据统计报
期刊
东京奥运会是新华社成为国际奥委会认可的国际通讯社后,首次参加的奥运报道.此次,国社应用了哪些新技术?带给观众哪些新体验?rn一、CAVE系统带来“穿越”高科技rn从北京到东京,从新华社大院到奥运会主新闻中心,这是一场说走就走的采访.一步跨出,时空变换,奥运冠军就在记者身边.rn这一科幻感十足的场景,出自新华社的奥运报道《“燃”在E空间|穿越时空遇见你》.视频中,“洋记者”庄弟(Jonty)在北京新立方智能化演播室,借助CAVE沉浸式技术,一步“穿越”到东京,由奥运记者高尚带领,观杨倩击落奥运首金,并和杨倩
期刊
习近平总书记指出:“新闻媒体竞争关键是人才竞争,媒体优势核心是人才优势.”[1]宣传思想工作是政治性、政策性、专业性很强的工作,没有几把刷子是干不了的,没有高素质、好把式、真功夫是干不出漂亮活的.当前,社会环境、舆论生态、传播格局等发生着翻天覆地的变化,有效开展宣传思想工作面临多方面挑战.习近平总书记强调:“要不断掌握新知识、熟悉新领域、开拓新视野,增强本领能力,加强调查研究,不断增强脚力、眼力、脑力、笔力,努力打造一支政治过硬、本领高强、求实创新、能打胜仗的宣传思想工作队伍.”[2]这是习近平总书记对新
期刊
东京奥运会已落下帷幕,但奥运传播的话题却值得进一步思考与关注.与往年不同的是,短视频成为这届奥运会备受关注的传播方式.以快手为代表的短视频平台不仅获得了赛事转播授权,更有意识地采用新思路进行奥运策划.奥运“短视频元年”的到来很大程度上改变了奥运传播方式,创造出新的媒介景观,但同时也不可忽略其所潜藏的过度娱乐化等问题.
在全球产业链布局深度调整的周期中,增强国内核心领域产业链韧性以及关键技术环节自主能力的意义和重要性不言而喻。鉴于此,本研究聚焦于备受各界关注的数字集成电路EDA软件行业,详细梳理了集成电路产业链各环节与所使用的不同EDA工具软件产品的对应关系,以及全球领先EDA厂商在各工具软件领域的产品布局,解析国内主要EDA厂商的发展现状,探讨现阶段中国数字集成电路EDA行业的挑战与机遇,并对该行业的发展进行展