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

下载本文档

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

文档简介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、2001_002 3. PowerBuilder编码规范 PR_C_1999_003 4. Visual C+编码规范 PR_C_1999_004 5. Visual Basic 编码规范 PR_C_1999_005 6. 数据库服务器段软件开发规范 PR_C_2000_006 7. Delphi编码规范 PR_C_2001_007 8 C+&W码规范 PR_C_2001_008 根据我们的经验,在多层体系结构的业务应用系统(如电信、社保系统)的 开发中,关键是数据库的操作编程以及涉及到中问件的编程将对系统性能影响很 大。因此本节将从数据SQL和中间两方面简述应用软件编程提高性能几个注

17、意点。 .4 应用软件性能监控,保障组件设计 除了应用软件本身的缺陷外,运行过程中业务模型的自然变化或人为更改, 系统环境的改变,以及应用软件执行过程中内在的变化特性, 使得应用性能问题 在生产环境仍然普遍发生。根据应用软件的业务特点,结合技术构架的实现方案, 在应用软件中实施与部署性能监控,分析组件,发现应用软件中存在的性能问题, 借助于性能监控,分析组件可以快速定位与解决性能问题, 但并不能避免应用性 能问题不发生。 .5 应用软件数据库 SQLSQL 的编程注意事项 确定一个SQL语句的书写规范,以提高SQL语句在Oracle的高速缓存中 的命中概率; 降

18、低单个SQL语句的复杂度,保证SQL的执行效率。对于复杂SQL语句, 采用转换成PL/SQLfe或其他方式进行处理; 合理设计应用程序,尽量降低所需要执行的SQL语句数量,降低与数据库 的大量交互; 采用绑定变量的方式,提高SQL执行效率; 尽量采取数据库中本身具有的功能来实现相关处理, 而不是通过自己单独 开发代码来处理; 对应用程序中的所有SQL语句进行整体的规划管理,以尽可能的发现存在 缺陷的SQL语句; 对于每一个事务,都尽量降低事务的大小,以提高效率; 合理使用SQL语句的hints,以提高SQL语句执行效率; 根据现场实际情况,定期对主要 SQL语句进行优化。 .6

19、 应用软件中1间件编程注意事项 在系统框架完整、类任务明确、单一的前提下尽量减少框架中类的调用 层次 使用DAO代替EntityBean访问数据库 业务层的 EJB入口采用 Stateless SessionBea谡免使用 statefull session bean 尽量避免EJB的嵌套调用 在系统启动初始化过程中缓存 ejb的home接口 适当地使用数据库的存储过程来提高效率 一些简单读取的请求使用 FastLaneReade模式 在WEB及APP层做集群 利用应用服务器提供的connection poo l连接数据库 1.3从平台部署解决系统性能问题 设计再好的软件系统也需要系统平台配合

20、。 因此,对丁金财工程来讲,对整 个集成平台的优化是非常重要的。一般来讲部署平台的优化是随着集成工作每个 阶段来展开的,这几个阶段主要涉及到平台部分的规划、安装、配置与调优、应 用软件部署与压力测试和上线前准备等组成,应用软件运行性能的好坏很大程度 上取决丁这些阶段平台优化与否。 .1 规划阶段 规划阶段是最重要的阶段,这个阶段就如同应用系统架构一样重要。 如果规 划不好,对后续的工作影响很大,再调优也不起作用。对通用平台各部分的规划 涉及到具体平台相关技术的实现方式和方法,要根据实际要求采用合理性技术等。 本节描述的内容包括目前主要的流行平台情况。 规划阶段优化任务及问题解答

21、 优化建议 备注 规划阶段优化任务及问题解答 优化建议 备注 服 务 器 服 HR 旧M、 SUN 等 主机是否采用分 区? 是硬件分区 还是软件分区? 1、 如果业务模式确定,业务量估计 基本准确,建议采用硬件分区; 2、 如果业务情况变动很大或不可预 测,建议软件分区。 hp 一般根据用 户要求出厂就 做好硬分区, ibm 一般优势 上在软分区 上,动态调整 能力较强。 同构还是异构做 集群?高性能主 机和低性能主机 可古做集群? 1、一般做集群都是同构的,也就是 说操作系统版本要求一致,这样集群 软件刀能运行起来;2、如果可能的 话尽量采用相同的主机做集群, 这样 对H/A方式来说可以很

22、快迁移到备 机上去,对rac方式可实现负载均 衡。 由于条件无法 提供同性能机 型,则需在备 机上配置一套 低配置的备用 参数。 是双台做并行还 是单台高性能做 H/A? 1、单业务建议高性能单机;2、多业 务类型建议rac模式 目前常见 的是双机做 RAC 应用服务器和数 据库服务器配置 选择方法 1、一般应用服务器选择多 CPU多 线程的主机类型,cpu和内存比一般 为1:2即可;2、数据库服务器多选 择高主频、高性能多 CPU类型,cpu 和内存的比一般至少 1 : 2,取好能1 : 4或以上。 对业务线一般 数据库和应用 服务器都建议 采用ibm/hp小 型机,如果是 核心平台,且 中

23、等城市规模 至少配置高端 8c/16g双机热 备,如果刈人 城市建议至少 规划阶段优化任务及问题解答 优化建议 备注 是8c/16g 的 rac , 或者是 16c/32g 的双 机热备。 霍盘阵列和 建议阵列配置大读写 CACHE至少 hp eva 系歹U主 存 光纤交换机 存储的选择 2-4g,越大越好,15k转的fc磁盘, 要靠多盘条带 储 3-4g以上的通道速度。 技术,硬盘速 交 度很关键 换 阵列不同raid 技术不问,大 建议核心业务采用 raid0+1 ,非核心 部分都支持通 raid 的选择 采用raid5 ,可根据阵列情况配置多 用raid技术, 少块物理盘做一个 raid

24、 不过有些阵列 不支持 空间划分要根据业务满足 3-5年设 计要求,一般根据需要设定,可划分 空间的划分 为业务卷、镜像卷(如果有存储级镜 像)、备份卷(对业务系统的备份) 和预留空间 lun设置大小主要取决于阵列盘的 大小、做成raid后整个空间大小以 及操作系统能管理的卷组中的物理 lun设置大小? 卷个数,对于业务数据 300g-500g 的系统,可设几个大点的 80g-100g 的盘,同时做几个小点的盘如 3g-30g ,做为备份和系统使用。 存储光纤交换机 目前有1g/2g/4g端口速度的存 规划阶段优化任务及问题解答 优化建议 备注 的选择使用 储交换,尽量选择与主机 HBA卡和阵

25、 列通道相匹配的交换机 网 络 利 路由、 交换、线路、 防火墙、网 内网外网划分 总体可根据业务网和外网进行划分, 对不同业务可进行子网隔离, 或通过 路由访问。 设 备 闸 防火墙、网闸的使 用 对外网或非局域专网访问要设置防 火墙,甚至网闸 线路带宽的选择 尽量米用高带宽稳定线路,建议有大 量往返数据流量的业务至少采用 2m 以上线路。 操 作 系 统 枷旧M、SUN 等 操作系统版本选 择 1、ibm aix 5.2 04 或 aix5.3 02 以上,否则对 oracle 10gr2 会有问 题 2、hp HP-UX B.11.23.0409 or later ,这个版本对安腾和 P

26、A-RISC 芯片都可用。低版本的 11.23 (v2 版) 只对安腾,11.11 (v1版) 只对 PA-RISC。3、solaris9/10 根文件系统划分 预留 建议根卷在操作系统安装前就规划 好,把根卷中的各文件系统扩展好, 一般73g盘可考如下配置:/arch1 25g用于oracle归档 / 2g /tmp 5g扩大临时文件系统 /home 3g /opt 20g 用于oracle介质安装 /usr 5g /var 2g Swap 8g 规划阶段优化任务及问题解答 优化建议 备注 教 H/A是主备式的,rac是并仃的,是 数 否米用rac基于以下原因:1、多应 据 H/A还是rac

27、 ? 用系统,而且应用间是耦合连接的。 库 2、m夕IT 口川U弟环境i。 3、机 法支撑应用运行。 缺省是文件系统实现数据库应用,采 Oracle 文件系统还是裸 用裸卷有两个原因:1、使用rac。2、 文件? 数据中含有一进制对象, 如图像、声 首、视频等。 选择数据库版本基于以下考虑: 1、 应用版本要求。2、客户购买现状。3、 9i还是10g? 尽量使用10g,以增强管理,提高效 率。 中 bea 采用集群的优点:1、提供单点发布 中 weblogic、 应用能力。2、多机、多server通过 间 ibm 一个管理台进行管理。3、在cluster 件 websphere server间

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

29、oracle 并行版。 件 HACMP hacmp要和aix 版本及oracle 版本 ibm 5.1/5.2/5.3 版 相匹配,可参考 oracle相应版本的 本问题 主机环境需求 SUN SUN Cluster Symant Veritas Cluster 这几个平台用的不多,参考 oracle ec System 安装配置文档的平台部分和对应平 Linux LVS 台操作系统cluster 软件要求。 Redhat Redhat Cluster oracle10g 新推出的cluster 软件, Oracle CRS 是否 它可以单独管理rac实例,也可以和 Oracle 而 : 其它

30、主机主机 cluster 软件共同管 理,有多种实现方式。 备 HP 备 Data 份 Protector 这些备份软件功 1、建议首先要确定备份内容:是否 虚拟磁带 与 RM 能类似,主要考虑 包括整库、归档和文件? 2、要确定 库需要另外的 恢 Tivoli - 规划备份方案方 备份的容牌可能的增量。 3、要确 软件和磁盘阵 复 Legato 法 定备份窗口,也即备份可用时间段。 列 软 NetWorker 件 Symantec netbackup 远 Symantec 一般厂商实施,是一种利用软件在本 软件方式容灾 程 vvr 地或异地实现逻辑卷的镜像复制 规划阶段优化任务及问题解答 优

31、化建议 备注 灾 备 HP CA 存储级容灾 hp公司容灾产品,一种保存数据备 份的最常用做法,可同步可异步,对 系统影响较小,对于数据级备份是首 选。 Oracle DataGuard 软件方式容 灾 oracle自带软件容灾解决方案,对 带宽要求不高,需要应用级容灾的情 况比较适合。 EMC SRDF 存储级容灾 EMC司容灾产品,一种保存数据备 份的最常用做法,可同步可异步,对 系统影响较小,对于数据级备份是首 选。 IBM PPDR 存储级容灾 ibm公司容灾产品,一种保存数据备 份的最常用做法,可同步可异步,对 系统影响较小,对于数据级备份是首 选。 IT 运 维 管 理 Neuso

32、ft Neteye SOC 系统监控产品 这些都是系统监控、运行维护产品, 一般厂商实施,建议有规模的数据和 网络中心都要安装类似设备, 能够对 主机、数据库、网络、中间件、应用 等方方厕都实施监控,及时发现并 解决问题。 HP Openview CA Unicenter RM Tivoli 表1-1 .2 实施阶段 实施阶段优化包括对软、硬件的集成过程中涉及到具体技术的实现方式和 方法,采用技术的合理性等。本节描述的内容包括目前主要的流行平台情况 安装阶段性能相关内容 优化建议 存 储 根卷组、 逻辑卷的创建 卷组、逻辑卷创建 考虑 根卷组大小一般视主机带的缺省盘大小而定,一

33、 般为73g,可按规划阶段内容进行安装,适当留 点剩余空间以备临时用。如果是 136g盘,可将 oracle 本地归档,temp、var、swap等逻辄卷适 当放大。 存 应用卷组、应 用逻辑卷的创 建 卷组命名、大小, 各主要逻辑卷命 名、大小? 业务卷组可任息命名,如: vg_ora ,卷组的大小 初始建设按满足2-3年分配,额外预留2年左右 的lun空间;逻辑卷命名可按城市拼音字头加上 用途命名,如:tjdata01 代表天津数据 01号文 件,tjindex01 代表天津索引01号文件。逻辑卷 大小一般根据总业务数据量来定, 100g以内业务 数据,每个逻辑卷可按 5g 200-500

34、g可按 10g-20g 一个文件。 操 作 系 统 操 HP、旧M、SUN 等操心系统的 安装 ibm aix5.1/5.2/5.3 安 装版本及patch问 题 1、一般操作系统版本和主机系统匹配的, 不 建议老主机安装新版操作系统,新安装系统尽量 安装5.3版。2、尽量安装每个版本的最高 patch , 尤其对数据库安以档上要求的平台 patch需求 hp unix 11i v1/11i v2安装版本及 patch问题 v1和v2分别适应pa- risc及安腾两种芯片的操 作系统系统,新版v2能兼容两种芯片,建议安装 这个版本,将这个版本的最新大 patch打上。 sun solaris8

35、/9/10 安装版本及 patch 问题 新主机安装局版本,找最新 patch 创建根镜像盘问题 建议在hp和ibm安装操作系统时建立根盘卷镜 像,保证根盘出现引导等其它问题时系统仍能启 动 安装阶段性能相关内容 优化建议 集 群 软 件 HP MC/SG mc/sg A.11.11/A.11.13 问题 注息如果使用 mc/sg管理oracle rac集群,要使 用安装有并行集群功能 A.11.13或更局版。 IBM HACMP hacmp 5.1/5.2/5.3 问题 hacmp版本和aix版本及oracle版本需要匹配, ibm工程师在安装时要确定 数 据 库 数 ORACLE 字符集

36、1、数据库字符集:ZHS16GBK2、本地字符集: AL16UTF16 sga配置 30-40%物理内存,根据并发用户数不问,如果并 发多,剩余物理内存需要多些, sga就可少些。 pga配置 1-3g,根据oracle数据库版本不同,9i/10g可 设自动方式。另外,9i也可设手工配置,如果手 工配置可对 sort_area_size 设成1-5m。 娄 攵据库、实例 命名 可自定义数据库名如:orcl ,实例名如:orcl1 process 、 sort_area_size 等 参数 对两层业务: process 和 sort_area_size 不同。 日志组、成员 个数,大小? 至少3

37、个组,每组2个成员,大小100m 9i/10g参数设 置区别参考 9i和10g在配置内存参数时最大的区别是 10g对 sga的自动管理。也既10g在9i对pga自动管理 的基础上实现了 sga的自动管理,只要给一个最 大值即可。 数据库系统表 空间设置 1、system 表空间 1g , undo 表空间 8 12g, temp 表空间10-20g ; 2、用户数据和索引表空间可根 据实际情况创建,对 100g 200g以下数据量系 统,文件大小可设 5-8g 布;对 300g-500g以 上的建议10g-15g 一个文件。不建议数据文件过 安装阶段性能相关内容 优化建议 大,以防过大导致数据

38、文件丢失及恢复时间过慢。 中 间 件 与 负 载 均 衡 器 中 应用中间 件 中间件版本 (介质)问题 1、桓查好介质,通甬都正bea发过来的光盘,但 安装时候经常发现不对,需要到网上下载,一般 网上下载都是没有问题的,但一定要下载与平台 匹配的软件,尤其 hp平台分安腾版和 PA RISC 版,很多项目都搞错,导致系统无法安装成功。2、 一般分两个版本:bin 版,如: server920_zh_CN_linux32.bin ,下载后 ftp 至U 系统上可直接运行;jar版需要你用java加载如: java -jar -Xmx2048m server921_ccjk_generic.ja

39、r 。3、解压工具,下 载的软件往往都是压缩的,需要使用类似卜面办 法处理:gunzip Java5_64.sdk.tar.gz (解压后 产生文件 Java5.sdk.tar) ,然后 tar xvf Java5.sdk.tar jdk版本问题 1、f 要安装平台自己的 jdk,如hp平台安装 hp jdk , ibm平台安装ibm jdk 。 2、一TE要安装 中间件版本要求的jdk版本,包括小patch版。 通常是 /usr/java14 、 /usr/java5 、 /usr/java5_64 。3、一定要安装应用软件要求的 版本。 安装阶段性能相关内容 优化建议 安装环境1可题 1、

40、创建系统用户。2、合理配直义件系统包括/tmp 大小,预留1g,中间件安装点、大小确定,如/opt , 预留2g。3、测试平台jdk是否安装及版本? 如: Java version 。 4、确TE是否安装中文子符集, 每个环境做法不完全一样,如hp环境做法为:#vi /etc/rc.config.d/LANG 默认 LANG=C;EXPORT LANG 改为:LANG=zh_CN.hp15CN;export LANG 在 ORACLE户下,vi .profile 添加上述内容 增加卜面这行到/etc/profile stty -istrip -parity cs8 集群安装问题 1、确定集群主

41、管理节点,在此节点安装和配 置集群,其扑点只安装软件即可。2、所有物理 安装节点必须配置缺省网关 3、使用weblogic 软件代理对核心业务线不适合 4、unix环境尽量 使用nohup方式启动各进程5、尽量米用f5等 负载均衡器做分发。 f5安装问题 一般f5会安倾应用服务器前,如果两台可按主 备万式。 远 程 灾 备 远 Symantec 对应用级容灾 要做远程容灾应用 级测试 一般厂商到场安装,建议进行演习测试。 HP Oracle IT Neusoft Neteye SOC 需要提供监控 内容部分需要讨论 确认具体监控内容:1、主机cpu、内存、i/o等; 2、编写对中间件、数据库、

42、应用的监控脚本 安装阶段性能相关内容 优化建议 运 维 管 理 HP Openview 确定 CA Unicenter 旧M Tivoli 备 份 Symantec 备 netbackp 备份实施内容 确7E 1、创建几个备份脚本,包括全备份,归档备,文 件备等。2、演习测试 ibm tsm HP data protector .3 配置与优化阶段 这个阶段是在平台环境基本搭建好后必须开展的工作,也是在应用部署前首 要的任务。本节提供的都是多年来在建设大量项目中的经验积累,涉及多种软、 硬件平台的优化。通过这种配置、优化后对常见大型应用可基本保证不出大的问 题。 1.3.41.

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

44、系统整体性能的关键保障。下面将分别展开 .1 数据库配置及优化方法 数据库是应用的核心,做好数据库的设计与优化是保证系统性能的关键。 数 据库的设计和优化通常包括如下内容: 数据库的设计,包括表的设计、索引的设计等。表的设计要兼顾灵活性 和易用性; 根据表、索引的设计情况,估算每个表的基准数据量及大小,还有表数 据的增长情况,合理设计每个表的参数值。对于数据量大的表,采用分 区表和物化视图等技术,以及在设计上考虑历史表等方法来提高性能; 根据表、索引的设计情况,合理设计表空间的大小、在磁盘上的分布以 及相关的参数; 合理调整数据库的初始化参数以及操作系统的内核参数等; 合理规划

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

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

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

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

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

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

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

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

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

54、ate Delete Insert . select Enable约束(表扫描是并行化的); 星形变换。 .2并行数据装载(parallel load技术 在VLDB中快速的数据装载速度显得非常重要, ORACLE勺SQL * LOADERT 具可以并行执行,从而可提高数据装载的速度。 Oracle的并行装载有以下特点: 每个SQL* Loader会话分派了一个新的区间并将数据载入新区间中, 为 优化系统的I / O性能,强烈建议在 OPTIONS子句中使用FILE与 STORAGE关键字控制新区间的位置与大小。FILE关键字可以在命令行 或控制文件中定义,然而,存储子句只能在控

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

56、ES供了并行恢 复的机制使系统的恢复进问尽量缩短。 Oracle的基本读-写单位是数据块。每当对块进行修改时,Oracle将这些改 变以重做日志的形式记录下来,如果需要时,可以使用这些日志重建这些块。 如 果由于介质失效或任何其他的原因而造成当前数据文件的内容丢失, 那么这些文 件可以从适当的备份拷贝中重建,然后进行恢复。恢复过程包括以下步骤: 1 )读日志文件并获得数据块的修改序列号。 2 )决定哪一个数据块需要改变。 3)在高速缓存中读这些数据块。 4 )从重做日志中将相应的改变应用到这些数据块。 5 )将修改完成的数据块写回硬盘。 为在并行状态下进行恢复,需要设置初始化参数 RECOVE

57、RY_PARALLELISM 也可以使用RECOVER令的PARALLEL?句代替。在并行恢复过程中,服务器 管理器或SQLDBA会话读重做日志文件并将改变传递给并行服务器进程。 然后这 些进程读相应的数据文件并应用改变。 .4 并行传播(parallel propagate术 复制使你可以维护多个数据库中的一个或多个数据库对象映象。 ORACLE1 务器在这些数据库之间通过数据库链传送数据, 以传播对复制对象的改变。S N P 后台进程执行数据复制。然而,如果要复制的数据卷非常大,同步这个对象会花 费很长时间。ORACLEB使用并行复制,其中可以使用多个并行服务器进程传播 事务

58、。 实体化视图(materialized view) 技术 实体化视图的基本技术与创建和维护快照的技术类似。 实体化视图是一个存 储派生数据的表。创建它时,指定用来提供实体化视图的 SQL。 对于VLDB实体化视图可以提供一些性能优势。根据基本 SQL的复杂性, 可以提供具有增量变化的实体化视图(通过一个实体化视图日志)而不是在数据刷 新期间重建它。与快照不同,实体化视图可以被优化程序用来动态改变查询的执 行路径。即使实体化视图在查询中没有被命名, 这种称作查询重写的特性也可以 使优化程序使用实体化视图来代替被实体化视图查询的表。 例如,如果你有一个 大型SALES表,就可以创

59、建一个按区域汇总 SALESR据的实体化视图。如果用 户为获得一个区域的汇总 SALESR据查询SALAS表,Oracle就可以使这个查询 使用实体化视图来取代 SALES表。这样就可以减少对一些最大表的访问量,从 而改进系统性能。若要启动查询重写的实体化视图,实体化视图的全部主表都必 须处于实体化视图的模式,并且你必须有 QUERYREWRITE系统权限。如果视图 和表处于不同的模式,就必须有 GLOBAL QUERYREWRITE统权限。通常,应按 与其所基于的表相同的模式创建实体化视图,否则就必须管理创建和维护实体化 视图所需要的权限与授权。 与快照一样,实体化视图创建一个存储数据的局部

60、表和访问该数据的视图。 根据实体化视图的复杂性,Oracle也可能在实体化视图的局部表上创建一个索 引。可以搜索实体化视图的局部表来改进针对实体化视图的查询的性能。 位图索引(bitmap index) 技术 通常,索引创建在选择性很高的那些列上, 即,在这些列上的行很少有相同 的值。对于一个索引来说,其值只有“ Y ”或“N ”的列是非常糟糕的,因为 该索引只含有两个值,所以通过这个列的任何访问都将返回表的一半记录。 不过, 如果这些索引列中的值届于一个完全静态的数值组, 就应该考虑使用位映射索引。 例如,如果在非常大的表 EMPLOYE畔只有很少几个不同的State_Code值, 即使在w

温馨提示

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

评论

0/150

提交评论