性能保障方案_第1页
性能保障方案_第2页
性能保障方案_第3页
性能保障方案_第4页
性能保障方案_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 性能保障方案1.1 从构架设计解决系统性能问题一个好的构架设计是保证系统今后可靠、 稳定、高效运行的基础。 从构架设 计上考虑系统性能问题,其目标是保证如下指标:并发用户数吞吐量可靠性性能即:让系统更快更好地为更多的用户提供服务, 并且保证服务过程不会中断。 为了达到以上指标,在设计中可以采用如下方案:1.1.1 构架设计性能保障原则(1)面向性能的业务流程分析 明确性能问题在整个软件生产与运行过程中的重要意义, 在考虑架构分析与 设计的时候,出发点与指导原则是帮助用户使用某种技术手段来高效地完成业务 流程,其本质是 “高效的业务流程 ”,而不是一个计算机系统或计算机应用。在这 一原则之下

2、,我们的应用开发是围绕着开发高效 业务流程”展开的,Java或其他 技术只是我们的一种技术手段而已。 避免由于具体的技术实现方案对业务流程分 析中的性能指标的束缚。(2)“化整为零 ”的领域模型设计领域模型分析与设计过程中, 抽取,抽象出稳定的领域模型, 并且剥离出严 重影响系统性能的长事物处理与批量事物处理, 针对长事务处理采用 “化整为零” 的处理模式, 将集中式处理过程中的具体环节分散到日常的业务处理功能中, 对 于批量业务处理采用多线程并行独立处理。 同时这种 “化整为零” 领域模型设计 在面对业务流程与模型的自然变化面前, 可以通过最少, 最小的程序变动, 降低 对应用性能的影响。(

3、3) 面向性能的架构关键技术选型在架构设计的时候要时刻围绕着系统的 QoS 需求,并将这些需求转化到Service的设计上,真正做到“面向性能的架构关键技术选型”,如下内容概述出在 架构设计国政部分关键技术选择是如何围绕 “性能”进行考虑的。RIA(Rich In ternet Application)客户端架构在保证良好的用户体验的同时,处理UI界面的展现与渲染过程中充分利用客户机的运算与处理能力。数据交互格式定义精简的客户端与应用服务器端数据交互格式, 在不丢失数据语义的同时, 尽 量降低在网络中传输的数据内容。自动事物管理利用面向切面的技术进行事物管理的切入, 从而实现自动化的事物处理,

4、 避 免编程式事物导致的事物与数据库连接问题并行处理并行处理是通过利用J2EE层执行模式的多线程和多 CPU特点来提高性能。 与使用一个线程或 CPU 处理任务相比,以并行方式处理多个子任务可以使操作 系统在多个线程或处理器中进行分配这些子任务。异步处理异步处理只处理那些非常重要的任务部分,然后将控制立即返回给调用者, 其他任务部分将在稍后执行。 异步处理是通过缩短那些在将控制返回给用户之前 必须处理的时间来提高性能的。 虽然都做同样多的事情, 但是用户不必等到整个 过程完成就可以继续发出请求了缓存机制缓存中存放着频繁访问的数据, 在应用的整个生命周期中, 这些数据存放在 持久性存储器或存放在

5、内存中。 在实际环境中, 典型的现象是在分布式系统中每 个JVM中有一个缓存的实例或者在多个 JVM中有一个缓存的实例。缓存数据是 通过避免访问持久性存储器来提高性能的, 否则会导致过多的磁盘访问和过于频 繁网络数据传输。 在架构设计过程中, 针对待实现系统中的实际业务特色, 剖析 出客户端与中间件中频繁使用的但又很少变化的数据。 通过一些技术手段, 将这 些数据在合适的时机 (系统启动,用户登录,第一次使用等 )以一定的数据结构存 放客户端或者中间件内存中。 避免每一次使用都进行发送远程调用请求或者数据 库访问,提高系统的运算与处理速度。资源池,对象池在应用系统运行过程中, 特别对于一个高并

6、发的应用系统资源的频繁地创建 都一个高成本的动作, 在架构设计过程中对数据库连接, 业务逻辑组件等高并发, 高成本的对象与资源采用池化技术, 在应用系统启动过程中以对象池, 资源池的 方式,初始化到池中,降低频繁的创建与销毁,同时也降低内存碎片的产生(4)持续性的性能管理持续性的性能管理主要是指, 在系统构建过程中持续性地性能测试。 持续性 能管理的前提条件是有一套完整定义的单元测试用例, 健壮的测试框, 以及明确 的,量化的性能需求。除了必不可少的单元测试,集成测试,压力测试以外,持 续性的性能管理更突出了自动化测试的重要意义, 自动化方式可以创建重复的测 试过程并迅速报告应用代码的质量。

7、只有自动化方式才能保证正确地遵循这些测 试过程,并且保证准确和一致地测试应用组件。1.1.2 分层的设计方法分层应用是将组件等分隔到不同的层中, 每一层中的组件保持内聚性, 并且 大致在同一抽象级别。 每一层都应与它下面的各层保持松散耦合, 避免使较低级 别依赖于较高级别。通过分层, 可以限制子系统间的依赖关系, 使系统以更松散的方式耦合, 从 而更易于维护。 分布式服务层依赖较低层, 但是较低层的细节不会显示在包含应 用程序和业务逻辑层的较高层中。 应用程序开发人员在较高抽象级别工作时不必 考虑诸如 TCP/IP 数据包和网络字节排序之类的细节。它还可以在替换较低层时 不对较高层造成任何影响

8、。采用从整体架构层次来看,系统可分为表示层、业务逻辑层、数据持久层。见下图:展现逻辑数据库客户端WebServerBrowser业务逻辑JSPDataBase图1-1应用软件层次架构图1)表示逻辑(客户层)为第一层:它的主要功能是实现用户交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请求调用核心服务处理, 并显 示处理结果。2)业务逻辑(服务器组件)为中间层:这些组件由中间件管理,实现核心 业务逻辑服务并将这些服务按名字广播, 管理并接受客户的服务请求,向资源管 理器提交数据操作,并将处理结果返回给请求者一一即客户或其他服务器。3)数据(资源管理器)构成模型的第三层。比如关系数据库,

9、负责管理应 用系统的数据资源,完成数据操作。服务器组件在完成服务的过程中通过资源管 理器存取它管理的数据,或者说请求资源管理器的数据服务。在三层客户机/服务器模式上架构的应用系统不但具备了大型机系统稳定、 安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期 短等优点。对于其中最关键的业务逻辑层,又可以分为控制框架层、业务组件层、数据 访问层和相关资源层。控制框架层管理业务组件的装配和调用,是业务逻辑层的核心引擎。业务组 件层集中了各种实现业务逻辑的组件;数据访问层封装对数据存储的各类访问操 作;相关资源层包括了各种相关应用支撑功能,如:缓存、对象池、线程池、消 息、日志等。

10、控制框架层与相关资源层构成系统的分功能属性部件,业务组件层和数据访 问层构成系统的功能属性部件。通过系统分层,改变了传统信息系统的大一统结构,区别系统的功能属性与 非功能属性,将不同的功能交给相应的功能组件来完成。 在单笔业务或者小用户 量的情况下,分层的系统架构并不具备优势,其关键优势在于对并发的大数据量 业务的响应和处理方面,通过在各层中合理的分布系统压力,改变了传统信息系 统压力集中的缺点。同时,采用分层技术架构,可以根据系统性能的具体需求, 对不同的层次进行有针对性的优化处理。1.1.3业务同步处理与异步处理相结合的系统体系架构传统的业务处理模式通常采用直接的请求 /应答方式进行同步处

11、理,在业务 高峰发生的时候,由于对资源的集中使用造成系统的响应速度急剧下降。通过在系统架构中加入异步业务处理模式的支持,将一些业务通过异步方式放入工作队 列中,在系统空闲的时候再从队列中获取工作任务进行处理,减少对资源的集中占用,保证在业务高峰期的系统响应性能。1.1.4缓存、池化技术的使用在实际业务处理过程中,数据库访问、网络传输以及新建对象都是成本较高 的资源开销,对于性能要求很高的业务系统来说,采用合理的技术减少高开销的 资源访问是必须考虑的内容。采用缓存、池化技术,将频繁访问的资源放在I/O性能较高的载体上,减少集中的和缓慢的I/O访问,从而达到提高系统性能的目 的。图1-2缓存、池化

12、技术1.1.5 分布式业务处理模式多层体系结构将业务逻辑与数据存储和显示分开,使得系统层次更加分明, 系统鲁棒性、 可扩充性、安全性得到大大提高, 同时它也使得分布式计算得到广 泛应用,使得系统的性能由于采用分布式计算而大大提高。采用分布式计算有着多方面的技术优势,包括:逻辑封装性这是分布式模式中最具诱惑力的特征, 这种模式将以往 C/S 结构中全部由客 户机完成的事务逻辑中的一部分从客户端分开。 当使用户需要动态改变一个应用 软件的商业逻辑规则时, 只要改变一个应用服务器的程序即可, 而不需要更改客 户端用户界面, 这样就无需中断用户, 为最终用户重新发放新的界面软件或亲自 上门为其安装调试

13、并重新培训用户, 提高了工作效率。这种多级模式对于需经常、 快速改变应用程序的行业很有帮助。性能性能的提高是三级模式最终被用户采用的主要原因。 将复杂的应用和商业逻 辑分离出来由专门的一台或多台应用服务器来处理, 既可以提高应用的执行速度, 也可以减少网络调用的通讯量。 不过这种性能提高是有一定代价的。 这就是开发 时要将应用逻辑分割为客户端逻辑和服务器端逻辑,这就增加了设计的复杂性。安全性管理在分布式计算模式中, 由于所有的商业逻辑都驻留在服务器端, 信息管理部 门就可以十分方便地监控服务器的运行情况, 很容易地控制访问服务器以及与服 务器应用打交道人员的数量。 这可以大大简化管理员对系统的

14、管理, 减轻系统维 护的工作量,并确保系统的可靠运行。针对金财工程的特点, 在构架系统时, 应充分考虑分布式计算的特点, 在数 据大集中的模式, 通过应用服务器及其群集技术, 将计算逻辑合理分布以保证系 统的性能。1.2从应用软件解决系统性能问题1.2.1应用软件的设计应基于构件,尽量简单化应用系统的设计应利用基于构件的开发理念,增加程序代码的可重用性。此外,程序应使用简单的逻辑和算法来获取结果, 避免复杂以及深层次的对象调用, 提高运行效率,以获得快速的相应速度。1.2.2应用软件应该以分阶段的方式来构件化已存在的遗留系统历史遗留系统的重构是高风险和大工作量的任务,同时与遗留系统的业务和 数

15、据衔接是一个对应用软件性能影响重大的环节。因此,最好以分阶段的方式逐 步用新的构件替换遗留系统的各个组成部分,以降低风险,减少工作量,逐步提高系统的相应速度。1.2.3应用软件编写的质量直接关系到系统的性能。编程的质量有经验的积累也有个人的技巧,在一个用软件整个开发过程的指 导思想是:“按照规范来进行开发,而不是按照个人习惯,应用服务器等其他因 素来进行开发”。与此相对应我公司专门针对开发工具以及使用的数据库的特点 制定了相关规范,见下表:1Pascal编码规范PR_C_2000_0012.Java编码规范PR_C_2001_0023.PowerBuilder编码规范PR_C_1999_003

16、4.Visual C+编码规范PR_C_1999_0045.Visual Basic 编码规范PR_C_1999_0056.数据库服务器段软件开发规范PR_C_2000_0067.Delphi编码规范PR_C_2001_0078C+&C编码规范PR_C_2001_008根据我们的经验,在多层体系结构的业务应用系统(如电信、社保系统)的 开发中,关键是数据库的操作编程以及涉及到中间件的编程将对系统性能影响很 大。因此本节将从数据SQL和中间两方面简述应用软件编程提高性能几个注意点。1.2.4 应用软件性能监控 ,保障组件设计除了应用软件本身的缺陷外,运行过程中业务模型的自然变化或人为更改

17、, 系统环境的改变, 以及应用软件执行过程中内在的变化特性, 使得应用性能问题 在生产环境仍然普遍发生。 根据应用软件的业务特点, 结合技术构架的实现方案, 在应用软件中实施与部署性能监控, 分析组件,发现应用软件中存在的性能问题, 借助于性能监控, 分析组件可以快速定位与解决性能问题, 但并不能避免应用性 能问题不发生。1.2.5应用软件数据库SQL的编程注意事项确定一个SQL语句的书写规范,以提高SQL语句在Oracle的高速缓存中 的命中概率;降低单个SQL语句的复杂度,保证SQL的执行效率。对于复杂SQL语句, 采用转换成PL/SQL块或其他方式进行处理;合理设计应用程序,尽量降低所需

18、要执行的SQL语句数量,降低与数据库 的大量交互;采用绑定变量的方式,提高SQL执行效率;尽量采取数据库中本身具有的功能来实现相关处理, 而不是通过自己单独 开发代码来处理;对应用程序中的所有SQL语句进行整体的规划管理,以尽可能的发现存在 缺陷的SQL语句; 对于每一个事务,都尽量降低事务的大小,以提高效率; 合理使用SQL语句的hints,以提高SQL语句执行效率; 根据现场实际情况,定期对主要 SQL语句进行优化。1.2.6应用软件中间件编程注意事项在系统框架完整、类任务明确、单一的前提下尽量减少框架中类的调用 层次使用DAO代替EntityBean访问数据库业务层的 EJB入口采用 S

19、tateless SessionBean避免使用 statefull session bea n尽量避免EJB的嵌套调用在系统启动初始化过程中缓存 ejb的home接口适当地使用数据库的存储过程来提高效率一些简单读取的请求使用 FastLa neReade模式在WEB及APP层做集群利用应用服务器提供的conn ection pool连接数据库1.3从平台部署解决系统性能问题设计再好的软件系统也需要系统平台配合。因此,对于金财工程来讲,对整个集成平台的优化是非常重要的。一般来讲部署平台的优化是随着集成工作每个 阶段来展开的,这几个阶段主要涉及到平台部分的规划、安装、配置与调优、应 用软件部署与

20、压力测试和上线前准备等组成,应用软件运行性能的好坏很大程度 上取决于这些阶段平台优化与否。1.3.1规划阶段规划阶段是最重要的阶段,这个阶段就如同应用系统架构一样重要。 如果规 划不好,对后续的工作影响很大,再调优也不起作用。对通用平台各部分的规划 涉及到具体平台相关技术的实现方式和方法,要根据实际要求采用合理性技术等。 本节描述的内容包括目前主要的流行平台情况。规划阶段优化任务及问题解答优化建议备注规划阶段优化任务及问题解答优化建议备注服务器服HPIBM、SUN等主机是否采用分 区? 是硬件分区还是软件分区?1、如果业务模式确定,业务量估计 基本准确,建议采用硬件分区;2、如果业务情况变动很

21、大或不可预 测,建议软件分区。hp 一般根据用 户要求出厂就 做好硬分区, ibm 一般优势 上在软分区 上,动态调整 能力较强。同构还是异构做 集群?高性能主 机和低性能主机 可否做集群?1、一般做集群都是同构的,也就是 说操作系统版本要求一致,这样集群 软件才能运行起来;2、如果可能的话尽量采用相同的主机做集群,这样对H/A方式来说可以很快迁移到备 机上去,对rac方式可头现负载均 衡。由于条件无法 提供同性能机 型,则需在备 机上配置一套 低配置的备用 参数。是双台做并行还是单台高性能做H/A?1、单业务建议高性能单机;2、多业务类型建议rac模式目前常见的是双机做RAC应用服务器和数据

22、库服务器配置选择方法1、一般应用服务器选择多CPU多线程的主机类型,cpu和内存比一般 为1:2即可;2、数据库服务器多选 择高主频、高性能多 CPU类型,cpu 和内存的比一般至少 1 :2,取好能1 : 4或以上。对业务线一般数据库和应用服务器都建议采用ibm/hp小型机,如果是 核心平台,且 中等城市规模 至少配置高端8c/16g双机热备,如果对人 城市建议至少规划阶段优化任务及问题解答优化建议备注是8c/16g 的rac, 或者是16c/32g 的双机热备。-/存储交换存磁盘阵列和光纤交换机存储的选择建议阵列配置大读写CACHE至少2- 4g,越大越好,15k转的fc磁盘,3- 4g以

23、上的通道速度。hp eva 系歹U主要靠多盘条带 技术,硬盘速 度很关键raid 的选择建议核心业务采用raidO+1,非核心采用raid5,可根据阵列情况配置多少块物理盘做一个raid阵列不同raid技术不冋,大 部分都支持通用raid技术,不过有些阵列不支持空间的划分空间划分要根据业务满足3-5年设计要求,一般根据需要设定,可划分 为业务卷、镜像卷(如果有存储级镜 像)、备份卷(对业务系统的备份) 和预留空间lun设置大小?lun设置大小主要取决于阵列盘的 大小、做成raid后整个空间大小以 及操作系统能管理的卷组中的物理 卷个数,对于业务数据300g-500g的系统,可设几个大点的80g

24、-100g的盘,同时做几个小点的盘如 3g-30g,做为备份和系统使用。存储光纤交换机目前有1g/2g/4g端口速度的存规划阶段优化任务及问题解答优化建议备注的选择使用储交换,尽量选择与主机 HBA卡和阵 列通道相匹配的交换机网络设备网路由、交换、线路、 防火墙、网 闸内网外网划分总体可根据业务网和外网进行划分,对不同业务可进行子网隔离,或通过路由访问。防火墙、网闸的使用对外网或非局域专网访问要设置防火墙,甚至网闸线路带宽的选择尽量米用高带宽稳定线路,建议有大 量往返数据流量的业务至少采用2m以上线路。操作 系 统操HPIBM、SUN等操作系统版本选择1、ibm aix 5.2 04 或 ai

25、x5.3 02以上,否则对 oracle 10gr2 会有问 题 2、hp HP-UX B.11.23.0409 or later ,这个版本对安腾和 PA-RISC 芯片都可用。低版本的11.23 ( v2版)只对安腾,11.11 (v1版)只对 PA-RISC。3、solaris9/10根文件系统划分预留建议根卷在操作系统安装前就规划好,把根卷中的各文件系统扩展好, 一般73g盘可参考如下配置:/arch125g用于oracle归档/ 2g/tmp 5g扩大临时文件系统/home 3g/opt 20g用于oracle介质安装/usr 5g/var 2gSwap 8g规划阶段优化任务及问题解

26、答优化建议备注数H/A是主备式的,rac是并仃的,是数否采用rac基于以下原因:1、多应据库H/A 还是 rac ?用系统,而且应用间是耦合连接的。尸广 tn 【.佬亍厂丄七cPSA 4-rr r"2、需要高可用计算环境。3、单机丿无法支撑应用运行。缺省是文件系统实现数据库应用,采Oracle文件系统还是裸用裸卷有两个原因:1、使用rac。2、文件?数据中含有二进制对象, 如图像、声音、视频等。选择数据库版本基于以下考虑:1、应用版本要求。2、客户购买现状。3、9i还是10g?尽量使用10g,以增强管理,提高效率。中bea采用集群的优点:1、提供单点发布中weblogic、应用能力。

27、2、多机、多server通过间ibm一个管理台进行管理。3、在cluster件websphere单机运行还是集server间提供会话复制能力,确保及等中间件,群配置?会话级failover 能力。4、通过软代负f5等负载理可实现负载均衡的功能。缺点:1、载均衡设备购买昂贵。2、在配置f5后,重要性均下降,尤其当配置4个以下的server衡时。器采用软代理还是如果条件允许尽可能采用负载均衡负载均衡器?器规划阶段优化任务及问题解答优化建议备注集如果米用oracle rac ,就要配置类集HPMC/ServiceGuard似 HP-UX 11i v1/v2 Serviceguard群并行还是HA?R

28、AC PCL LTU的模块,否则无法安装软oracle 并行版。件HACMPhacmp要和aix 版本及oracle 版本ibm5.1/5.2/5.3版相匹配,可参考 oracle相应版本的本问题主机环境需求SUNSUN ClusterSyma ntVeritas Cluster这几个平台用的不多,参考oracleecSystem安装配置文档的平台部分和对应平LinuxLVS台操作系统cluster软件要求。RedhatRedhat Clusteroracle10g 新推出的cluster 软件,Oracle CRS 是否它可以单独管理rac实例,也可以和Oracle誇"Wo 需?其

29、它主机主机 cluster软件共同管理,有多种实现方式。:备HP备Data份Protector这些备份软件功1、建议首先要确定备份内容:是否虚拟磁带与IBM能类似,主要考虑包括整库、归档和文件?2、要确定库需要另外的恢Tivoli土IT14【夂/八七左七备份的容量和可能的增量。3、要确软件和磁盘阵规划备份方案方复Legato法定备份窗口,也即备份可用时间段。列软NetWorker件Syma ntecn etbackup远Syma ntec软件方式容灾一般厂商实施,是一种利用软件在本程vvr地或异地实现逻辑卷的镜像复制规划阶段优化任务及问题解答优化建议备注灾备HP CA存储级容灾hp公司容灾产品

30、,一种保存数据备 份的最常用做法,可同步可异步,对 系统影响较小,对于数据级备份是首 选。OracleDataGuard软件方式容灾oracle自带软件容灾解决方案,对 带宽要求不咼,需要应用级容灾的情 况比较适合。EMC SRDF存储级容灾EMC公司容灾产品,一种保存数据备 份的最常用做法,可同步可异步,对 系统影响较小,对于数据级备份是首 选。IBM PPDR存储级容灾ibm公司容灾产品,一种保存数据备 份的最常用做法,可同步可异步,对 系统影响较小,对于数据级备份是首 选。IT运维管理NeusoftNeteye SOC系统监控产品这些都是系统监控、运行维护产品, 一般厂商实施,建议有规模

31、的数据和 网络中心都要安装类似设备, 能够对 主机、数据库、网络、中间件、应用 等方方面面都实施监控,及时发现并 解决问题。HPOpe nviewCAUn ice nterIBMTivoli表1-11.3.2实施阶段实施阶段优化包括对软、硬件的集成过程中涉及到具体技术的实现方式和 方法,采用技术的合理性等。本节描述的内容包括目前主要的流行平台情况安装阶段性能相关内容优化建议存储根卷组、逻辑卷的创建卷组、逻辑卷创建考虑根卷组大小一般视主机带的缺省盘大小而定,一 般为73g,可按规划阶段内容进行安装,适当留 点剩余空间以备临时用。如果是136g盘,可将oracle 本地归档,temp、var、sw

32、ap等逻辑卷适 当放大。存应用卷组、应用逻辑卷的创建卷组命名、大小,各主要逻辑卷命名、大小?业务卷组可任意命名,如:vg_ora,卷组的大小初始建设按满足2-3年分配,额外预留2年左右 的lun空间;逻辑卷命名可按城市拼音字头加上 用途命名,如:tjdataO1代表天津数据 01号文件,tjindex01代表天津索引01号文件。逻辑卷大小一般根据总业务数据量来定,100g以内业务数据,每个逻辑卷可按5g左右,200-500g可按10g-20g 个文件。操作 系 统操HP、IBM、SUN等操心系统的安装ibmaix5.1/5.2/5.3安装版本及patch问题1、一般操作系统版本和主机系统匹配的

33、,不建议老主机安装新版操作系统,新安装系统尽量 安装5.3版。2、尽量安装每个版本的最高 patch, 尤其对数据库安装文档上要求的平台patch需求hp unix 11i v1/11iv2安装版本及patch问题v1和v2分别适应pa risc及安腾两种芯片的操 作系统系统,新版v2能兼容两种芯片,建议安装 这个版本,将这个版本的最新大patch打上。sun solaris8/9/10安装版本及 patch问题新主机安装咼版本,找最新patch创建根镜像盘问题建议在hp和ibm安装操作系统时建立根盘卷镜 像,保证根盘出现引导等其它问题时系统仍能启 动安装阶段性能相关内容优化建议集群 软 件H

34、P MC/SGmc/sgA.11.11/A.11.13问题注意如果使用 mc/sg管理oracle rac集群,要使用安装有并行集群功能A.11.13或更咼版。IBM HACMPhacmp 5.1/5.2/5.3问题hacmp版本和aix版本及oracle版本需要匹配,ibm工程师在安装时要确定数据库数ORACLE字符集1、数据库字符集:ZHS16GBK2、本地字符集:AL16UTF16sga酉己置30-40%物理内存,根据并发用户数不冋,如果并 发多,剩余物理内存需要多些,sga就可少些。pga酉己置1-3g,根据oracle数据库版本不同,9i/10g可设自动方式。另外,9i也可设手工配置

35、,如果手工配置可对sort_area_size 设成1-5m。数据库、实例命名可自定义数据库名如:orci ,实例名如:orcl1process 、sort_area_size 等参数对两层业务: process禾口 sort area size 不同。日志组、成员个数,大小?至少3个组,每组2个成员,大小100m9i/10g参数设置区别参考9i和10g在配置内存参数时最大的区别是10g对sga的自动管理。也既10g在9i对pga自动管理 的基础上实现了 sga的自动管理,只要给一个最 大值即可。数据库系统表空间设置1、system 表空间 1g , undo 表空间 8 12g, temp表

36、空间10-20g ; 2、用户数据和索引表空间可根 据实际情况创建,对100g 200g以下数据量系统,文件大小可设 5 8g左右;对 300g-500g以 上的建议10g-15g 一个文件。不建议数据文件过安装阶段性能相关内容优化建议大,以防过大导致数据文件丢失及恢复时间过慢。中 间 件 与 负 载 均 衡 器中应用中间件中间件版本(介质)问题1、检查好介质,通常都疋bea发过来的光盘,但 安装时候经常发现不对,需要到网上下载,一般 网上下载都是没有问题的,但一定要下载与平台 匹配的软件,尤其 hp平台分安腾版和 PA RISC 版,很多项目都搞错,导致系统无法安装成功。2、 一般分两个版本

37、:bin 版,如: server920_zh_CNinux32.bin,下载后 ftp 到系统上可直接运行;jar版需要你用java加载如: java-jar-Xmx2048mserver921 ccjk generic.jar。3、解压工具, 下载的软件往往都是压缩的,需要使用类似下面办 法处理:gunzip Java5_64.sdk.tar.gz(解压后产生文件 Java5.sdk.tar),然后 tar xvfJava5.sdk.tarjdk版本问题1、一定要安装平台自己的 jdk,如hp平台安装 hp jdk , ibm平台安装ibm jdk 。 2、一疋要安装 中间件版本要求的jdk

38、版本,包括小patch版。通常是 /usr/java14、 /usr/java5、/usr/java5_64。3、一定要安装应用软件要求的版本。安装阶段性能相关内容优化建议安装环境冋题1、创建系统用户。2、合理配置文件系统包括/tmp 大小,预留1g,中间件安装点、大小确定,如/opt , 预留2g°3、测试平台jdk是否安装及版本?女口:Java version 。 4、确疋是否安装中文子符集, 每个环境做法不完全一样,如hp环境做法为:#vi /etc/rc.co nfig.d/LANG默认 LANG=C;EXPORT LANG改为:LANG=zh_CN.hp15CN;expor

39、t LANG 在 ORACLE!户下,vi .profile添加上述内容增加下面这行到/etc/profilestty -istrip -parity cs8集群安装问题1、确定集群主管理节点,在此节点安装和配 置集群,其它节点只安装软件即可。2、所有物理 安装节点必须配置缺省网关3、使用weblogic软件代理对核心业务线不适合4、unix环境尽量使用nohup方式启动各进程5、尽量米用f5等 负载均衡器做分发。f5安装问题一般f5会安装在应用服务器前,如果两台可按主 备方式。远程 灾 备远Syma ntec对应用级容灾要做远程容灾应用级测试一般厂商到场安装,建议进行演习测试。HPOracl

40、eITNeusoftNeteye SOC需要提供监控内容部分需要讨论确认具体监控内容:1、主机cpu、内存、i/o等;2、编写对中间件、数据库、应用的监控脚本安装阶段性能相关内容优化建议运 维 管 理HPOpenview确定CAUn ice nterIBMTivoli备份Syma ntec备 netbackp备份实施内容确疋1、创建几个备份脚本,包括全备份,归档备,文 件备等。2、演习测试ibm tsmHP dataprotector1.3.3配置与优化阶段这个阶段是在平台环境基本搭建好后必须开展的工作,也是在应用部署前首 要的任务。本节提供的都是多年来在建设大量项目中的经验积累,涉及多种软、

41、 硬件平台的优化。通过这种配置、优化后对常见大型应用可基本保证不出大的问 题。1.3.4应用部署与测试阶段这个阶段是在软件和集成都完成后,把软件部署在新的集成平台上并做压力 测试的过程。在这个过程中需要对现有的环境做进一步优化。上线前准备阶段这个阶段是上线前的对系统做最后检查的阶段。 需在各方面条件都满足要求的条件下才能上线1.4 系统性能调优实用技术性能优化有很多技术, 包括各个厂家的技术, 也包括在实际调优过程中积累 的经验。比如在数据库设计,如:表和索引等设计的时候,充分利用数据库的特 色和性能,使程序运行效率最好;中间件也是一样, java 程序开发的时候往往也 会利用应用服务器的特性

42、使程序效率最高。 另外,对各平台软、 硬件及应用性能 的监控和性能诊断能力已成为系统整体性能的关键保障。下面将分别展开1.4.1 数据库配置及优化方法数据库是应用的核心, 做好数据库的设计与优化是保证系统性能的关键。 数 据库的设计和优化通常包括如下内容:数据库的设计,包括表的设计、索引的设计等。表的设计要兼顾灵活性 和易用性;根据表、索引的设计情况,估算每个表的基准数据量及大小,还有表数 据的增长情况,合理设计每个表的参数值。对于数据量大的表,采用分 区表和物化视图等技术,以及在设计上考虑历史表等方法来提高性能; 根据表、索引的设计情况,合理设计表空间的大小、在磁盘上的分布以 及相关的参数;

43、 合理调整数据库的初始化参数以及操作系统的内核参数等; 合理规划客户端 / 连接池对数据库的连接数目; 根据现场实际情况,定期监测和检查数据库的使用情况,并对不合理参 数做出调整。同时,也定期对数据库中的碎片进行整理。本系统规模大(海量数据) ,连接点、实时性要求高,因此如何处理海量数 据,是保证系统性能的关键。本节根据海量数据的特点阐述系统性控制措施。本项目采用 Oracle 数据库,因此,数据系统性能的控制将结合 Oracle 展开。 “海量”数据库的概念一直在不断变化, 1995 年时,容量大于 100GB 的数 据库就被认为是大型数据库。仅仅几年之后,数万亿字节的数据库已投入市场。 V

44、LDB是超大型数据库的(very large database简称。141.1 分区表和索引(partition table and index) 技术根据实际经验,在一个大数据库中,数据库空间的绝大多数是被少量的表所 占有。如何简化大数据库和管理,如何改善应用的查询性能,一般可以使用分区 这种手段。所谓分区就是动态地将表中记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立 一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。ORACLE进了数据分区的技术,以加强对 VLDB的支持。当表的数据增大时,数据的载入/载出、备份/恢复占

45、用了大量的时间,也使 数据库管理员的任务变得复杂、繁琐,直接影响系统的可用性。所以,为了便于 管理、提高关键数据的可用性、提高查询的性能,ORACLE可基于一定的关键值把表和索引分为若干可管理的小块 一一区,由于每个分区的操作是相对独立的, 从而避免因一部分数据的无法访问而影响其他分区的数据的使用。这带来两方面的好处:第一、提高性能,只对存有被查数据的分区进行查找,从而加快速度; 第二、高可用性,备份/恢复可以以分区为单位进行,减少管理时间;另外,数 据是基于分区管理的,硬件的失败只会影响本地分区,不影响其他分区上的数据 的操作,从而提高系统的可用性。这种分区的机制,对应用系统是透明的。图1-

46、3数据库分区技术Oracle的分区(Partitioning Option)方式有 hash,range和 composite 多种。这种灵活的分区方式好处是:目标准确的数据服务器管理高可用性应用性能提高由于结构的限制,多数服务器的分区导致为提高性能以牺牲目标准确的数据 服务器管理和高可用性为代价。必须在它们之间作出选择。Oracle的composite分 区方法则消除了这种情况。采用Oracle的分区,数据的存储、管理、访问和备份都完全按你的业务要 求。例如许多公司喜欢按日期分区,当数据到达一定的日期后,数据就不能再被 查询。Oracle的Range分区使过期的分区,仍然可被查询。Oracl

47、e的分区显著地改进了数据的可用性。单一分区可被单独离线,不影响 其它数据运行。查询永远是在所有分区正常的情况下才进行。Oracle决不会提供 不完整的查询结果。141.2 并行化(parallelism )技术具有大内存与CPU资源的巨型系统已经出现十几年了,这些系统多采用MPP 或SMP结构,具有大计算能力,并且有很好的扩充性,然而,如果应用软件不 能有效地利用这些计算机的特点,那么计算的能力将受到限制。Oracle早在7. 1版本中就引入了并行查询选项(PQO),以充分使用这些系 统中可用的硬件资源。Oracle并行查询选项允许长时间运行的 SQL操作(主要是 查询),以协同方式在多个CP

48、U间运行,这使系统减少了资源密集型SQL操作的 运行时间。并行执行选项使多个服务器进程可以并行执行一定的操作。 进程,称为查询 协调器,将一条语句的执行调配到多个服务器执行, 协同所有服务器的结果,并 将结果返回给用户。SELECT *FROM EMP FParallel Execution ServarParallel Execution Coordinator图 1-4 并行查询技术14121 并行 SQL(parallel SQL executiO技术Oracle 数据库是一个由不同的进程维护的物理数据文件的集合。这样一套 后台进程与共享内存段,统称为 Oracle 实例,使并发用户可以

49、与数据库交互。 当一个用户需要使用 ( select 、insert 、update 或 delete )数据库中的数据时, 他需要连接到数据库。在大多数 UNIX 系统中, Oracle 使用两任务体系结构。在 这个模式中, 当一个用户连接到数据库时, 派生一个附加的进程, 通常称为影子 进程、前台等等。影子进程代表用户存取共享内存段与数据文件。在VLDB环境中,用户通常需要处理大量数据,影子进程完成必需的工作需 要花费一段时间。 由于影子进程操纵数据工作时间很长, 很辛苦, 系统很可能有 空闲的 C P U 与内存资源。这正是 Oracle 并行查询选项发挥作用的地方。通过 使用这个选项,

50、 Oracle 可以将一个用户的大量数据处理请求分解为多个、相对 较小的工作单元, 这些工作单元可以由不同的进程并发执行。 它使用一套专有后 台进程,称为并行查询伺服(服务器) ,完成这项工作。影子进程被提升为管理 的角色,并称为查询协调器,查询协调器的职责如下:1)将功能分解为并行的小片。2)确保可以得到足够数量的并行查询伺服器。3)为给定的工作初始化伺服器进程,并在 P Q O 服务器的进程之间分派工 作。4)从伺服器进程收集输出并将输出返回。5)当完成预期的工作后, 查询伺服器进程被释放, 并可由其他的工作获得。 在最有利的情况下, 并行执行减少了执行时间, 执行时间的因子是使用的查询伺

51、服器的个数。然而,由 S Q L 语句消耗的总时间并没有减少。并行执行比顺 序执行使用更多的系统资源, 这样可使的系统的资源得到有效的利用, 而不是浪 费。O r a c l e 服务器概念手册指出 Oracle 可以并行执行以下的操作: 表扫描; 嵌套循环连结;排序合并连结;哈西连结;“ Not in ”;Group by ;Select distinct;Union 与 union all;集合;从 SQL 调用的 PL / SQL 函数;Order by;Create table as selec;tCreate index; Rebuild index; Move partition

52、; Split partition ; Update; Delete; Insert . . . selec;t Enable 约束(表扫描是并行化的) ; 星形变换。14122并行数据装载(parallel load技术在VLDB中快速的数据装载速度显得非常重要,ORACLED SQL * LOADERS具可以并行执行,从而可提高数据装载的速度。 Oracle 的并行装载有以下特点: 每个 SQL * Loader 会话分派了一个新的区间并将数据载入新区间中,为优化系统的 I / O 性能,强烈建议在 OPTIONS 子句中使用 FILE 与 STORAGE 关键字控制新区间的位置与大小。

53、FILE 关键字可以在命令行 或控制文件中定义,然而,存储子句只能在控制文件中定义。 并行加载要求没有本地或全局索引。如果存在任何索引,会产生一个错 误信息并退出加载操作。 在加载之前需要手工删除索引, 在加载完成后, 再重建索引。每个加载会话需要一个表上的共享锁。 每个加载会话都是独立的,在加载会话之间没有任何联系。当一个会话完成加载后,Oracle将加载的区间与已有的区间连接到一起, 上次加载区间中没有使用的块作为空区间返回, 这导致加载之后非标准 大小的区间。 即使通过加载控制文件中的存储子句选项指定了区间大小, 截断也会发生。14123 并行恢复(parallel recovery技术

54、在VLDB中中当数据库出现意外损坏而需要恢复时,ORACLE提供了并行恢复的机制使系统的恢复进间尽量缩短。Oracle 的基本读 -写单位是数据块。每当对块进行修改时, Oracle 将这些改 变以重做日志的形式记录下来, 如果需要时, 可以使用这些日志重建这些块。 如 果由于介质失效或任何其他的原因而造成当前数据文件的内容丢失, 那么这些文 件可以从适当的备份拷贝中重建,然后进行恢复。恢复过程包括以下步骤:1 )读日志文件并获得数据块的修改序列号。2 )决定哪一个数据块需要改变。3 )在高速缓存中读这些数据块。4 )从重做日志中将相应的改变应用到这些数据块。5 )将修改完成的数据块写回硬盘。为在并行状态下进行恢复,需要设置初始化参数RECOVERY_PARALLELISM也可以使用RECOVEF命令的PARALLEL子句代替。在并行恢复过程中,服务器 管理器或SQLDBA会话读重做日志文件并将改变传递给并行服务器进程。然后这些进程读相应的数据文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论