全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NC系统生命周期与性能优化 性能优化是NC系统开发及交付使用过程中最重要和最复杂的工作之一。 在NC系统进入市场的初级阶段,由于个部门对NC所依赖的系统如数据库、JVM、OS系统等的认识不足,出现了大量因环境问题导致的性能问题,一度严重影响NC的交付及推广。如今,随着公司对性能的重视,通过完善安装说明等文档以及多次的性能专项培训,NC的运行环境得到很大的改变,现在出现的性能问题,很少有能够通过环境参数的调整获得彻底的解决的了。并且随着NC系统使用的深入,数据量的增加,产品自身的性能问题将会显得更加突出。 NC作为一个应用软件,其性能问题虽然通常在系统投入使用后才得以表现出来,但其优化必须是一个贯穿于应用系统整个生命周期的长期工作,性能优化应该从需求调研和需求分析开始。从另一个方面讲,性能优化也不仅仅是专职性能优化人员的工作,而是 需要全员参与的(业务人员、开发人员、数据库管理员甚至项目和用户的领导层)。现在有很多效率问题很难被处理,其大多跟当初确立的需求及设计有关,如今代码实现已经完成交付使用了,修改问题只能头疼医头,问题自然很难得到彻底根治。 在软件开发和应用的各个阶段中,应该注意以下的问题: 1 在需求开发阶段,性能优化的目的是说服业务人员接受对系统影响比较小的操作习惯,而放弃那些对系统性能有致命影响的操作习惯,结合产品易用性,有效控制住对系统性能产生重大影响的操作 2 在系统应用架构设计阶段,采用对性能优化比较有利的应用体系架构。采用2层还是三层架构,使用B/S方式还是C/S方式,采用瘦客户端还是胖客户端,客户端和服务器之间数据交换方式等都会影响系统访问的性能 ,应用及数据库系统的可扩展架构。 3 在系统逻辑设计阶段,定义合理的数据结构和数据操作方式在物理设计阶段,设计合理的表和索引的物理存储结构 4 在编码阶段,编写效率比较高的SQL,尽量使用批量等高效的处理方式 5 在系统测试阶段,对于关键业务进行完整的压力测试和系统性能评估,找出系统的瓶颈,尽快改进应用 6 在系统实施阶段,实施方案的确立,如业务数据合并进入财务系统等。 7 在系统试运行阶段,实时监控NC系统的情况,及时发现NC系统存在的问题,及时进行调整。对于应用中存在的性能问题,及时发现,并及时通知开发人员改进,并对改进后的应用进行测试评估 8 在系统运行阶段:系统投入正式运行后,系统的优化工作仍是十分艰巨的工作。系统管理人员仍需定期对应用系统及数据库进行分析,找出目前系统消耗资源最大的对象,并找出改进的方法,进行改进。数据库还需要定期进行行链消除、索引重建、表空间碎片整理、历史数据备份卸载和系统分析等工作 需求开发阶段的性能优化 需求开发分为客户需求获取、需求分析两个阶段。一般不会把这个需求开发和性能优化联系起来,但这个阶段往往却是系统性能优化最为关键的阶段。在这个阶段主要考虑的是软件的功能需求,而这些需求中,可能存在一些对系统性能影响极大的需求。操作习惯、界面风格、统计方法等都会影响系统整体的性能。 以总账里非常常用的查询对话框为例,如下图所示 需求阶段明确用户能够接受什么样的控制方案,设计时通过产品实现控制机制,比如:如需根据摘要或金额模糊查询,必须控制会计期间,不输入科目编码对方科目无意义置灰等 上述这些优化如果在需求分析阶段就能够完成,那么可以避免很多问题,而事实上目前类似的问题在不停的出现,且优化起来无比困难。究其原因,主要是参与需求开发的人员往往是业务人员和软件开发人员,这些人员缺乏数据库优化的基本知识和经验,无法从需求中发现隐含的性能问题。因此在需求开发阶段,专业的优化人员的介入是十分重要的,具有数据库优化经验和软件开发经验的优化人员可以在这个阶段就及时发现对于性能影响较大的需求,合理引导用户需求,并设计出合理的控制方案。因此在需求开发阶段,“需求性能分析服务”是十分关键的服务。 需求性能分析服务是一种项目前期咨询服务,在需求获取阶段或者需求设计阶段,都可以使用。但是在不同的阶段,对服务提供者的要求不同。能够在需求获取阶段提供咨询服务的服务提供者,需要既是Oracle的专家,又是应用开发的专家,同时还是业务方面的专家。对于在需求设计阶段的咨询服务提供者,在业务方面的要求略低。咨询专家可以针对客户需求,从数据库性能的角度进行分析,对可能严重影响数据库性能的需求,提出解决方案,甚至否决需求。咨询专家的介入,会提高需求阶段的工程质量,为整个工程的最终顺利实施提供保障。 系统设计阶段的数据库优化 系统设计阶段包括系统架构设计、逻辑设计、物理设计等子阶段。系统架构对于数据库的性能影响也是十分巨大的,采用不同的系统架构,对后续的设计和应用开发都具有十分大的影响,不合理的系统架构甚至会造成项目的失败。架构设计人员往往缺乏数据库优化方面的经验,他们设计架构的原则是根据业务和应用软件开发来制定的,因此往往仅仅考虑了业务的拓展性以及应用开发的可控性,而过于灵活的应用架构可能会最终导致严重的性能问题,甚至导致项目失败。 在逻辑设计阶段,需要进行数据模型的逻辑建模。作为一个具有十分丰富的逻辑设计经验的系统设计师来说,创建一套完美的符合第三范式的逻辑模型不是什么难事。但是从数据库的性能角度来考虑,第三范式不一定是最佳的选择,有时候为了避免性能问题,设计一定的冗余数据,也是十分必要的。不幸的是系统设计师往往都不具有足够的数据库优化经验,因此在这个阶段也存在形成性能瓶颈的风险。 在物理设计阶段,需要对数据库进行物理建模。物理建模是决定系统性能的关键,IO负载如何均衡、如何避免行链、如何避免表空间碎片、如何创建合理的索引,等等,都需要在这个阶段设计完成。在这个阶段需要经验十分丰富的Oracle DBA和系统设计人员共同来完成。而事实上,在这个阶段,往往缺乏有经验的DBA参与,普通应用软件开发商的DBA是无法胜任这项工作的。 由于系统设计阶段对最终系统的性能影响如此巨大,因此在系统设计阶段需要一种综合性的咨询服务,也就是我们常说的“系统模型优化服务”。 系统模型优化服务是一种综合性的服务,服务提供商需要对应用体系架构、逻辑模型、物理模型进行综合的分析,找出性能瓶颈,并根据系统要求,提出解决方案。为了更好的进行系统设计,系统模型优化服务应该贯穿系统设计的全过程,包括: ? 数据库性能优化与系统设计培训课程 ? 应用系统架构设计评审 ? 应用系统逻辑模型评审 ? 应用系统物理模型评审 软件开发阶段的数据库优化 如果在需求和设计阶段避免了各种性能瓶颈,那么应用软件开发阶段的性能优化工作就会轻松很多。但是由于软件开发阶段涉及的人员较多,并且每个开发人员的能力有所不同,因此在这个阶段也是容易造成性能问题扩散的主要阶段。这个阶段产生的性能问题往往是分散的,集中于某些不够优化的SQL代码。其修复的代价也低于前面两个阶段。在应用软件开发阶段,“应用开发性能优化套餐”可以帮助应用开发商避免性能问题,套餐内容包括: ? SQL与数据库性能培训课程 ? PL/SQL性能优化培训课程 ? 专职DBA服务 专职DBA服务的主要内容是派遣专职的DBA参与开发,该DBA的主要任务是帮助开发人员分析SQL的性能并协助进行SQL优化。专职DBA的另外一个职能是对大型SQL进行审核,没有通过审核的SQL必须在开发阶段进行优化改造。有了专职DBA的参与,可以在开发阶段减少大量的性能瓶颈。 系统测试阶段的数据库优化 如果在前面的各个阶段,都已经对数据库的性能进行了优化,那么系统测试阶段是解决遗留系统性能问题的最佳阶段,由于系统开发已经完成,因此集成测试和系统测试成为可能,很多在系统测试阶段才可能暴露出来的性能问题可以得到充分的暴露,而且由于系统还没有正式上线,因此系统调整和优化的代价也很小。 在实际情况中,测试阶段大家的主要精力都集中在解决软件BUG方面,往往忽视了对系统性能和数据库性能的测试。由于开发队伍缺乏压力测试的能力,因此压力测试往往被省略了。这些省略的后果往往就是系统上线后产生严重的性能问题。在系统测试阶段,“压力测试服务”和“系统性能评估服务”是两种十分重要的服务。 压力测试服务是服务公司为客户提供的专业的测试服务,可以根据客户应用的特点,建立一套模拟的数据和模拟的业务运行环境,并在这个环境中获得第一手的系统性能参数,找到隐藏的性能瓶颈。以便于客户在上线前解决存在的性能隐患。 系统性能评估服务的目的是为客户进行系统生命周期中的性能预估,可以根据目前的情况,估算几年后系统运行的情况,以及可能出现的系统瓶颈。评估报告可以让客户作出系统是否能够上线的决策。也可以使客户在系统运行生命周期内进行系统升级和扩容的规划。 系统运行阶段的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 看图编故事童话作文6篇
- 关于护理服务试题及答案
- 保护环境的呼吁记事作文(6篇)
- 五级低压电工考试题库及答案
- 2025年人工智能医疗行业AI医疗技术应用与健康管理研究报告及未来发展趋势预测
- 2025年人工智能在农业生产中的应用与创新研究报告及未来发展趋势预测
- 2025年通讯网络行业物联网发展研究报告及未来发展趋势预测
- 2025年社交媒体行业社交媒体用户画像分析报告
- 2025年电子商务行业全球化电商与跨境电商发展研究报告及未来发展趋势预测
- 测绘局安全生产题库及答案解析
- 山东省菏泽市2024-2025学年高三年级上册期中考试物理试题(含解析)
- 民航安检心理培训
- 《初级会计实务》(第五版) 第六章 所有者权益;第七章 收入、费用和利润;第八章 财务报表
- 热点07多学科视域下的总体国家安全观(热点速递)
- 四川省南充市嘉陵第一中学2024-2025学年九年级上学期11月期中英语试题
- 2024-2025学年人教版七年级地理上学期地理知识点
- 【合村并居的影响因素探究的国内外文献综述6400字】
- ASTM-D3359-(附著力测试标准)-中文版
- 《交通运输经济学》练习题集
- 初二数学《数据的分析》公开课说课
- 压力管道元件质量管理手册
评论
0/150
提交评论