欢迎来到天天文库
浏览记录
ID:50901762
大小:754.05 KB
页数:66页
时间:2020-03-15
《性能保障方案.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、此文档收集于网络,如有侵权,请联系网站删除1性能保障方案1.1从构架设计解决系统性能问题一个好的构架设计是保证系统今后可靠、稳定、高效运行的基础。从构架设计上考虑系统性能问题,其目标是保证如下指标:l并发用户数l吞吐量l可靠性l性能即:让系统更快更好地为更多的用户提供服务,并且保证服务过程不会中断。为了达到以上指标,在设计中可以采用如下方案:1.1.1构架设计性能保障原则(1)面向性能的业务流程分析明确性能问题在整个软件生产与运行过程中的重要意义,在考虑架构分析与设计的时候,出发点与指导原则是帮助
2、用户使用某种技术手段来高效地完成业务流程,其本质是“高效的业务流程”,而不是一个计算机系统或计算机应用。在这一原则之下,我们的应用开发是围绕着开发高效“业务流程”展开的,Java或其他技术只是我们的一种技术手段而已。避免由于具体的技术实现方案对业务流程分析中的性能指标的束缚。(2)“化整为零”的领域模型设计领域模型分析与设计过程中,抽取,抽象出稳定的领域模型,并且剥离出严重影响系统性能的长事物处理与批量事物处理,针对长事务处理采用“化整为零”的处理模式,将集中式处理过程中的具体环节分散到日常的业务
3、处理功能中,对于批量业务处理采用多线程并行独立处理。同时这种“化整为零”领域模型设计在面对业务流程与模型的自然变化面前,可以通过最少,最小的程序变动,降低此文档仅供学习与交流此文档收集于网络,如有侵权,请联系网站删除对应用性能的影响。(3)面向性能的架构关键技术选型在架构设计的时候要时刻围绕着系统的QoS需求,并将这些需求转化到Service的设计上,真正做到“面向性能的架构关键技术选型”,如下内容概述出在架构设计国政部分关键技术选择是如何围绕“性能”进行考虑的。RIA(RichInternetA
4、pplication)客户端架构在保证良好的用户体验的同时,处理UI界面的展现与渲染过程中充分利用客户机的运算与处理能力。数据交互格式定义精简的客户端与应用服务器端数据交互格式,在不丢失数据语义的同时,尽量降低在网络中传输的数据内容。自动事物管理利用面向切面的技术进行事物管理的切入,从而实现自动化的事物处理,避免编程式事物导致的事物与数据库连接问题ü并行处理并行处理是通过利用J2EE层执行模式的多线程和多CPU特点来提高性能。与使用一个线程或CPU处理任务相比,以并行方式处理多个子任务可以使操作系
5、统在多个线程或处理器中进行分配这些子任务。ü异步处理异步处理只处理那些非常重要的任务部分,然后将控制立即返回给调用者,其他任务部分将在稍后执行。异步处理是通过缩短那些在将控制返回给用户之前必须处理的时间来提高性能的。虽然都做同样多的事情,但是用户不必等到整个过程完成就可以继续发出请求了ü缓存机制缓存中存放着频繁访问的数据,在应用的整个生命周期中,这些数据存放在持久性存储器或存放在内存中。在实际环境中,典型的现象是在分布式系统中每个JVM中有一个缓存的实例或者在多个JVM中有一个缓存的实例。缓存数据
6、是通过避免访问持久性存储器来提高性能的,否则会导致过多的磁盘访问和过于频此文档仅供学习与交流此文档收集于网络,如有侵权,请联系网站删除繁网络数据传输。在架构设计过程中,针对待实现系统中的实际业务特色,剖析出客户端与中间件中频繁使用的但又很少变化的数据。通过一些技术手段,将这些数据在合适的时机(系统启动,用户登录,第一次使用等)以一定的数据结构存放客户端或者中间件内存中。避免每一次使用都进行发送远程调用请求或者数据库访问,提高系统的运算与处理速度。ü资源池,对象池在应用系统运行过程中,特别对于一个高
7、并发的应用系统资源的频繁地创建都一个高成本的动作,在架构设计过程中对数据库连接,业务逻辑组件等高并发,高成本的对象与资源采用池化技术,在应用系统启动过程中以对象池,资源池的方式,初始化到池中,降低频繁的创建与销毁,同时也降低内存碎片的产生(4)持续性的性能管理持续性的性能管理主要是指,在系统构建过程中持续性地性能测试。持续性能管理的前提条件是有一套完整定义的单元测试用例,健壮的测试框,以及明确的,量化的性能需求。除了必不可少的单元测试,集成测试,压力测试以外,持续性的性能管理更突出了自动化测试的重
8、要意义,自动化方式可以创建重复的测试过程并迅速报告应用代码的质量。只有自动化方式才能保证正确地遵循这些测试过程,并且保证准确和一致地测试应用组件。1.1.1分层的设计方法分层应用是将组件等分隔到不同的层中,每一层中的组件保持内聚性,并且大致在同一抽象级别。每一层都应与它下面的各层保持松散耦合,避免使较低级别依赖于较高级别。通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。分布式服务层依赖较低层,但是较低层的细节不会显示在包含应用程序和业务逻辑层的较高层
此文档下载收益归作者所有