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

下载本文档

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

文档简介

1 性能保障方案1.1 从构架设计解决系统性能问题一个好的构架设计是保证系统今后可靠、稳定、高效运行的基础。从构架设计上考虑系统性能问题,其目标是保证如下指标:l 并发用户数l 吞吐量l 可靠性l 性能即:让系统更快更好地为更多的用户提供服务,并且保证服务过程不会中断。为了达到以上指标,在设计中可以采用如下方案:1.1.1 构架设计性能保障原则(1)面向性能的业务流程分析明确性能问题在整个软件生产与运行过程中的重要意义,在考虑架构分析与设计的时候,出发点与指导原则是帮助用户使用某种技术手段来高效地完成业务流程,其本质是“高效的业务流程”,而不是一个计算机系统或计算机应用。在这一原则之下,我们的应用开发是围绕着开发高效“业务流程”展开的,java或其他技术只是我们的一种技术手段而已。避免由于具体的技术实现方案对业务流程分析中的性能指标的束缚。(2)“化整为零”的领域模型设计领域模型分析与设计过程中,抽取,抽象出稳定的领域模型,并且剥离出严重影响系统性能的长事物处理与批量事物处理,针对长事务处理采用“化整为零”的处理模式,将集中式处理过程中的具体环节分散到日常的业务处理功能中,对于批量业务处理采用多线程并行独立处理。同时这种“化整为零”领域模型设计在面对业务流程与模型的自然变化面前,可以通过最少,最小的程序变动,降低对应用性能的影响。(3)面向性能的架构关键技术选型在架构设计的时候要时刻围绕着系统的qos需求,并将这些需求转化到service的设计上,真正做到“面向性能的架构关键技术选型”,如下内容概述出在架构设计国政部分关键技术选择是如何围绕“性能”进行考虑的。ria(rich internet application)客户端架构在保证良好的用户体验的同时,处理ui界面的展现与渲染过程中充分利用客户机的运算与处理能力。数据交互格式定义精简的客户端与应用服务器端数据交互格式,在不丢失数据语义的同时,尽量降低在网络中传输的数据内容。自动事物管理利用面向切面的技术进行事物管理的切入,从而实现自动化的事物处理,避免编程式事物导致的事物与数据库连接问题 并行处理并行处理是通过利用j2ee层执行模式的多线程和多cpu特点来提高性能。与使用一个线程或cpu处理任务相比,以并行方式处理多个子任务可以使操作系统在多个线程或处理器中进行分配这些子任务。 异步处理异步处理只处理那些非常重要的任务部分,然后将控制立即返回给调用者,其他任务部分将在稍后执行。异步处理是通过缩短那些在将控制返回给用户之前必须处理的时间来提高性能的。虽然都做同样多的事情,但是用户不必等到整个过程完成就可以继续发出请求了 缓存机制缓存中存放着频繁访问的数据,在应用的整个生命周期中,这些数据存放在持久性存储器或存放在内存中。在实际环境中,典型的现象是在分布式系统中每个jvm中有一个缓存的实例或者在多个jvm中有一个缓存的实例。缓存数据是通过避免访问持久性存储器来提高性能的,否则会导致过多的磁盘访问和过于频繁网络数据传输。在架构设计过程中,针对待实现系统中的实际业务特色,剖析出客户端与中间件中频繁使用的但又很少变化的数据。通过一些技术手段,将这些数据在合适的时机(系统启动,用户登录,第一次使用等)以一定的数据结构存放客户端或者中间件内存中。避免每一次使用都进行发送远程调用请求或者数据库访问,提高系统的运算与处理速度。 资源池,对象池在应用系统运行过程中,特别对于一个高并发的应用系统资源的频繁地创建都一个高成本的动作,在架构设计过程中对数据库连接,业务逻辑组件等高并发,高成本的对象与资源采用池化技术,在应用系统启动过程中以对象池,资源池的方式,初始化到池中,降低频繁的创建与销毁,同时也降低内存碎片的产生(4)持续性的性能管理持续性的性能管理主要是指,在系统构建过程中持续性地性能测试。持续性能管理的前提条件是有一套完整定义的单元测试用例,健壮的测试框,以及明确的,量化的性能需求。除了必不可少的单元测试,集成测试,压力测试以外,持续性的性能管理更突出了自动化测试的重要意义,自动化方式可以创建重复的测试过程并迅速报告应用代码的质量。只有自动化方式才能保证正确地遵循这些测试过程,并且保证准确和一致地测试应用组件。1.1.2 分层的设计方法分层应用是将组件等分隔到不同的层中,每一层中的组件保持内聚性,并且大致在同一抽象级别。每一层都应与它下面的各层保持松散耦合,避免使较低级别依赖于较高级别。通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。分布式服务层依赖较低层,但是较低层的细节不会显示在包含应用程序和业务逻辑层的较高层中。应用程序开发人员在较高抽象级别工作时不必考虑诸如 tcp/ip 数据包和网络字节排序之类的细节。它还可以在替换较低层时不对较高层造成任何影响。采用从整体架构层次来看,系统可分为表示层、业务逻辑层、数据持久层。见下图:图 11应用软件层次架构图1)表示逻辑(客户层)为第一层:它的主要功能是实现用户交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。2)业务逻辑(服务器组件)为中间层:这些组件由中间件管理,实现核心业务逻辑服务并将这些服务按名字广播,管理并接受客户的服务请求,向资源管理器提交数据操作,并将处理结果返回给请求者即客户或其他服务器。3)数据(资源管理器)构成模型的第三层。比如关系数据库,负责管理应用系统的数据资源,完成数据操作。服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请求资源管理器的数据服务。在三层客户机/服务器模式上架构的应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。对于其中最关键的业务逻辑层,又可以分为控制框架层、业务组件层、数据访问层和相关资源层。控制框架层管理业务组件的装配和调用,是业务逻辑层的核心引擎。业务组件层集中了各种实现业务逻辑的组件;数据访问层封装对数据存储的各类访问操作;相关资源层包括了各种相关应用支撑功能,如:缓存、对象池、线程池、消息、日志等。控制框架层与相关资源层构成系统的分功能属性部件,业务组件层和数据访问层构成系统的功能属性部件。通过系统分层,改变了传统信息系统的大一统结构,区别系统的功能属性与非功能属性,将不同的功能交给相应的功能组件来完成。在单笔业务或者小用户量的情况下,分层的系统架构并不具备优势,其关键优势在于对并发的大数据量业务的响应和处理方面,通过在各层中合理的分布系统压力,改变了传统信息系统压力集中的缺点。同时,采用分层技术架构,可以根据系统性能的具体需求,对不同的层次进行有针对性的优化处理。1.1.3 业务同步处理与异步处理相结合的系统体系架构传统的业务处理模式通常采用直接的请求/应答方式进行同步处理,在业务高峰发生的时候,由于对资源的集中使用造成系统的响应速度急剧下降。通过在系统架构中加入异步业务处理模式的支持,将一些业务通过异步方式放入工作队列中,在系统空闲的时候再从队列中获取工作任务进行处理,减少对资源的集中占用,保证在业务高峰期的系统响应性能。1.1.4 缓存、池化技术的使用在实际业务处理过程中,数据库访问、网络传输以及新建对象都是成本较高的资源开销,对于性能要求很高的业务系统来说,采用合理的技术减少高开销的资源访问是必须考虑的内容。采用缓存、池化技术,将频繁访问的资源放在i/o性能较高的载体上,减少集中的和缓慢的i/o访问,从而达到提高系统性能的目的。图 12缓存、池化技术1.1.5 分布式业务处理模式多层体系结构将业务逻辑与数据存储和显示分开,使得系统层次更加分明,系统鲁棒性、可扩充性、安全性得到大大提高,同时它也使得分布式计算得到广泛应用,使得系统的性能由于采用分布式计算而大大提高。采用分布式计算有着多方面的技术优势,包括:l 逻辑封装性这是分布式模式中最具诱惑力的特征,这种模式将以往c/s结构中全部由客户机完成的事务逻辑中的一部分从客户端分开。当使用户需要动态改变一个应用软件的商业逻辑规则时,只要改变一个应用服务器的程序即可,而不需要更改客户端用户界面,这样就无需中断用户,为最终用户重新发放新的界面软件或亲自上门为其安装调试并重新培训用户,提高了工作效率。这种多级模式对于需经常、快速改变应用程序的行业很有帮助。l 性能性能的提高是三级模式最终被用户采用的主要原因。将复杂的应用和商业逻辑分离出来由专门的一台或多台应用服务器来处理,既可以提高应用的执行速度,也可以减少网络调用的通讯量。不过这种性能提高是有一定代价的。这就是开发时要将应用逻辑分割为客户端逻辑和服务器端逻辑,这就增加了设计的复杂性。l 安全性管理在分布式计算模式中,由于所有的商业逻辑都驻留在服务器端,信息管理部门就可以十分方便地监控服务器的运行情况,很容易地控制访问服务器以及与服务器应用打交道人员的数量。这可以大大简化管理员对系统的管理,减轻系统维护的工作量,并确保系统的可靠运行。针对金财工程的特点,在构架系统时,应充分考虑分布式计算的特点,在数据大集中的模式,通过应用服务器及其群集技术,将计算逻辑合理分布以保证系统的性能。1.2 从应用软件解决系统性能问题1.2.1 应用软件的设计应基于构件,尽量简单化应用系统的设计应利用基于构件的开发理念,增加程序代码的可重用性。此外,程序应使用简单的逻辑和算法来获取结果,避免复杂以及深层次的对象调用,提高运行效率,以获得快速的相应速度。1.2.2 应用软件应该以分阶段的方式来构件化已存在的遗留系统历史遗留系统的重构是高风险和大工作量的任务,同时与遗留系统的业务和数据衔接是一个对应用软件性能影响重大的环节。因此,最好以分阶段的方式逐步用新的构件替换遗留系统的各个组成部分,以降低风险,减少工作量,逐步提高系统的相应速度。1.2.3 应用软件编写的质量直接关系到系统的性能。编程的质量有经验的积累也有个人的技巧,在一个用软件整个开发过程的指导思想是:“按照规范来进行开发,而不是按照个人习惯,应用服务器等其他因素来进行开发”。与此相对应我公司专门针对开发工具以及使用的数据库的特点制定了相关规范,见下表:1pascal 编码规范pr_c_2000_0012.java编码规范pr_c_2001_0023.powerbuilder编码规范pr_c_1999_0034.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 应用软件性能监控,保障组件设计除了应用软件本身的缺陷外,运行过程中业务模型的自然变化或人为更改,系统环境的改变,以及应用软件执行过程中内在的变化特性,使得应用性能问题在生产环境仍然普遍发生。根据应用软件的业务特点,结合技术构架的实现方案,在应用软件中实施与部署性能监控,分析组件,发现应用软件中存在的性能问题,借助于性能监控,分析组件可以快速定位与解决性能问题,但并不能避免应用性能问题不发生。1.2.5 应用软件数据库sql的编程注意事项l 确定一个sql语句的书写规范,以提高sql语句在oracle的高速缓存中的命中概率;l 降低单个sql语句的复杂度,保证sql的执行效率。对于复杂sql语句,采用转换成pl/sql块或其他方式进行处理;l 合理设计应用程序,尽量降低所需要执行的sql语句数量,降低与数据库的大量交互;l 采用绑定变量的方式,提高sql执行效率;l 尽量采取数据库中本身具有的功能来实现相关处理,而不是通过自己单独开发代码来处理;l 对应用程序中的所有sql语句进行整体的规划管理,以尽可能的发现存在缺陷的sql语句;l 对于每一个事务,都尽量降低事务的大小,以提高效率;l 合理使用sql语句的hints,以提高sql语句执行效率;l 根据现场实际情况,定期对主要sql语句进行优化。1.2.6 应用软件中间件编程注意事项l 在系统框架完整、类任务明确、单一的前提下尽量减少框架中类的调用层次l 使用dao代替entitybean访问数据库l 业务层的ejb入口采用stateless sessionbean,避免使用statefull session bean l 尽量避免ejb的嵌套调用l 在系统启动初始化过程中缓存ejb的home接口l 适当地使用数据库的存储过程来提高效率l 一些简单读取的请求使用fastlanereader模式l 在web及app层做集群l 利用应用服务器提供的connection pool连接数据库1.3 从平台部署解决系统性能问题设计再好的软件系统也需要系统平台配合。因此,对于金财工程来讲,对整个集成平台的优化是非常重要的。一般来讲部署平台的优化是随着集成工作每个阶段来展开的,这几个阶段主要涉及到平台部分的规划、安装、配置与调优、应用软件部署与压力测试和上线前准备等组成,应用软件运行性能的好坏很大程度上取决于这些阶段平台优化与否。1.3.1 规划阶段规划阶段是最重要的阶段,这个阶段就如同应用系统架构一样重要。如果规划不好,对后续的工作影响很大,再调优也不起作用。对通用平台各部分的规划涉及到具体平台相关技术的实现方式和方法,要根据实际要求采用合理性技术等。本节描述的内容包括目前主要的流行平台情况。规划阶段优化任务及问题解答优化建议备注服服务器hp、ibm、sun等主机是否采用分区? 是硬件分区还是软件分区?1、如果业务模式确定,业务量估计基本准确,建议采用硬件分区;2、如果业务情况变动很大或不可预测,建议软件分区。hp一般根据用户要求出厂就做好硬分区,ibm一般优势上在软分区上,动态调整能力较强。同构还是异构做集群?高性能主机和低性能主机可否做集群?1、一般做集群都是同构的,也就是说操作系统版本要求一致,这样集群软件才能运行起来;2、如果可能的话尽量采用相同的主机做集群,这样对h/a方式来说可以很快迁移到备机上去,对rac方式可实现负载均衡。由于条件无法提供同性能机型,则需在备机上配置一套低配置的备用参数。是双台做并行还是单台高性能做h/a?1、单业务建议高性能单机;2、多业务类型建议rac模式目前常见的是双机做rac应用服务器和数据库服务器配置选择方法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以上的通道速度。hp eva系列主要靠多盘条带技术,硬盘速度很关键raid 的选择建议核心业务采用raid0+1,非核心采用raid5,可根据阵列情况配置多少块物理盘做一个raid阵列不同raid技术不同,大部分都支持通用raid技术,不过有些阵列不支持空间的划分空间划分要根据业务满足3-5年设计要求,一般根据需要设定,可划分为业务卷、镜像卷(如果有存储级镜像)、备份卷(对业务系统的备份)和预留空间lun设置大小?lun设置大小主要取决于阵列盘的大小、做成raid后整个空间大小以及操作系统能管理的卷组中的物理卷个数,对于业务数据300g-500g的系统,可设几个大点的80g-100g的盘,同时做几个小点的盘如3g-30g,做为备份和系统使用。存储光纤交换机的选择使用目前有1g/2g/4g端口速度的存储交换,尽量选择与主机hba卡和阵列通道相匹配的交换机网网络设备路由、交换、线路、防火墙、网闸内网外网划分总体可根据业务网和外网进行划分,对不同业务可进行子网隔离,或通过路由访问。防火墙、网闸的使用对外网或非局域专网访问要设置防火墙,甚至网闸线路带宽的选择尽量采用高带宽稳定线路,建议有大量往返数据流量的业务至少采用2m以上线路。操操作系统hp、ibm、sun等操作系统版本选择1、ibm aix 5.204或aix5.302以上,否则对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盘可参考如下配置:/arch1 25g 用于oracle归档/ 2g/tmp 5g 扩大临时文件系统/home 3g/opt 20g 用于oracle介质安装/usr 5g/var 2gswap 8g数数据库oracleh/a还是rac?h/a是主备式的,rac是并行的,是否采用rac基于以下原因:1、多应用系统,而且应用间是耦合连接的。2、需要高可用计算环境。3、单机无法支撑应用运行。文件系统还是裸文件?缺省是文件系统实现数据库应用,采用裸卷有两个原因:1、使用rac。2、数据中含有二进制对象,如图像、声音、视频等。9i还是10g?选择数据库版本基于以下考虑:1、应用版本要求。2、客户购买现状。3、尽量使用10g,以增强管理,提高效率。中中间件及负载均衡器bea weblogic、ibm websphere等中间件,f5等负载均衡设备单机运行还是集群配置?采用集群的优点:1、提供单点发布应用能力。2、多机、多server通过一个管理台进行管理。3、在cluster server间提供会话复制能力,确保会话级failover能力。4、通过软代理可实现负载均衡的功能。缺点:1、购买昂贵。2、在配置f5后,重要性下降,尤其当配置4个以下的server时。采用软代理还是负载均衡器?如果条件允许尽可能采用负载均衡器集集群软件hpmc/serviceguard 并行还是ha?如果采用oracle rac,就要配置类似hp-ux 11i v1/v2 serviceguard rac pcl ltu的模块,否则无法安装oracle并行版。ibmhacmp 5.1/5.2/5.3版本问题hacmp要和aix版本及oracle版本相匹配,可参考oracle相应版本的主机环境需求sunsun cluster这几个平台用的不多,参考oracle安装配置文档的平台部分和对应平台操作系统cluster软件要求。symantecveritas cluster systemlinuxlvsredhatredhat clusteroracleoracle crs 是否需要?oracle10g新推出的cluster软件,它可以单独管理rac实例,也可以和其它主机主机cluster软件共同管理,有多种实现方式。备备份与恢复软件hp data protector这些备份软件功能类似,主要考虑规划备份方案方法1、建议首先要确定备份内容:是否包括整库、归档和文件?2、要确定备份的容量和可能的增量。3、要确定备份窗口,也即备份可用时间段。虚拟磁带库需要另外的软件和磁盘阵列ibm tivolilegato networkersymantec netbackup远程灾备symantec vvr软件方式容灾一般厂商实施,是一种利用软件在本地或异地实现逻辑卷的镜像复制hp ca存储级容灾hp公司容灾产品,一种保存数据备份的最常用做法,可同步可异步,对系统影响较小,对于数据级备份是首选。oracle dataguard软件方式容灾oracle自带软件容灾解决方案,对带宽要求不高,需要应用级容灾的情况比较适合。emc srdf存储级容灾emc公司容灾产品,一种保存数据备份的最常用做法,可同步可异步,对系统影响较小,对于数据级备份是首选。ibm ppdr存储级容灾ibm公司容灾产品,一种保存数据备份的最常用做法,可同步可异步,对系统影响较小,对于数据级备份是首选。iit运维管理neusoft neteye soc系统监控产品这些都是系统监控、运行维护产品,一般厂商实施,建议有规模的数据和网络中心都要安装类似设备,能够对主机、数据库、网络、中间件、应用等方方面面都实施监控,及时发现并解决问题。hp openviewca unicenteribm tivoli表111.3.2 实施阶段实施阶段优化包括对软、硬件的集成过程中涉及到具体技术的实现方式和方法,采用技术的合理性等。本节描述的内容包括目前主要的流行平台情况。安装阶段性能相关内容优化建议存存储根卷组、逻辑卷的创建卷组、逻辑卷创建考虑根卷组大小一般视主机带的缺省盘大小而定,一般为73g,可按规划阶段内容进行安装,适当留点剩余空间以备临时用。如果是136g盘,可将oracle本地归档,temp、var、swap等逻辑卷适当放大。应用卷组、应用逻辑卷的创建卷组命名、大小,各主要逻辑卷命名、大小?业务卷组可任意命名,如:vg_ora,卷组的大小初始建设按满足2-3年分配,额外预留2年左右的lun空间;逻辑卷命名可按城市拼音字头加上用途命名,如:tjdata01代表天津数据01号文件,tjindex01代表天津索引01号文件。逻辑卷大小一般根据总业务数据量来定,100g以内业务数据,每个逻辑卷可按5g左右,200-500g可按10g-20g一个文件。操操作系统hp、ibm、sun等操心系统的安装ibm aix5.1/5.2/5.3安装版本及patch问题1、一般操作系统版本和主机系统匹配的,不建议老主机安装新版操作系统,新安装系统尽量安装5.3版。2、尽量安装每个版本的最高patch,尤其对数据库安装文档上要求的平台patch需求hp unix 11i v1/11i v2 安装版本及patch问题v1和v2分别适应parisc及安腾两种芯片的操作系统系统,新版v2能兼容两种芯片,建议安装这个版本,将这个版本的最新大patch打上。sun solaris8/9/10安装版本及patch问题新主机安装高版本,找最新patch创建根镜像盘问题建议在hp和ibm安装操作系统时建立根盘卷镜像,保证根盘出现引导等其它问题时系统仍能启动集群软件hp mc/sgmc/sg a.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、数据库字符集:zhs16gbk。2、本地字符集:al16utf16sga配置30-40%物理内存,根据并发用户数不同,如果并发多,剩余物理内存需要多些,sga就可少些。pga配置1-3g,根据oracle数据库版本不同,9i/10g可设自动方式。另外,9i也可设手工配置,如果手工配置可对sort_area_size设成1-5m。数据库、实例命名可自定义数据库名如:orcl,实例名如:orcl1process 、sort_area_size等参数对两层业务:process和sort_area_size不同。日志组、成员个数,大小?至少3个组,每组2个成员,大小100m9i/10g参数设置区别参考9i和10g在配置内存参数时最大的区别是10g对sga的自动管理。也既10g在9i对pga自动管理的基础上实现了sga的自动管理,只要给一个最大值即可。数据库系统表空间设置1、system 表空间1g,undo表空间812g,temp表空间10-20g;2、用户数据和索引表空间可根据实际情况创建,对100g200g以下数据量系统,文件大小可设58g左右;对300g-500g以上的建议10g-15g一个文件。不建议数据文件过大,以防过大导致数据文件丢失及恢复时间过慢。中中间件与负载均衡器应用中间件中间件版本(介质)问题1、检查好介质,通常都是bea发过来的光盘,但安装时候经常发现不对,需要到网上下载,一般网上下载都是没有问题的,但一定要下载与平台匹配的软件,尤其hp平台分安腾版和parisc版,很多项目都搞错,导致系统无法安装成功。2、一般分两个版本:bin版,如:server920_zh_cn_linux32.bin ,下载后ftp到系统上可直接运行;jar版需要你用java加载如:java -jar -xmx2048m server921_ccjk_generic.jar。3、解压工具,下载的软件往往都是压缩的,需要使用类似下面办法处理:gunzip java5_64.sdk.tar.gz (解压后产生文件java5.sdk.tar),然后 tar xvf java5.sdk.tarjdk版本问题1、一定要安装平台自己的jdk,如hp平台安装hp jdk,ibm平台安装 ibm jdk。2、一定要安装中间件版本要求的jdk版本,包括小patch版。通常是/usr/java14、/usr/java5、/usr/java5_64 。3、一定要安装应用软件要求的版本。安装环境问题1、创建系统用户。2、合理配置文件系统包括/tmp大小,预留1g,中间件安装点、大小确定,如/opt,预留2g。3、测试平台jdk是否安装及版本? 如:java version。4、确定是否安装中文字符集,每个环境做法不完全一样,如hp环境做法为:#vi /etc/rc.config.d/lang默认lang=c;export lang改为: lang=zh_cn.hp15cn;export lang在oracle用户下,vi .profile 添加上述内容增加下面这行到/etc/profilestty -istrip -parity cs8集群安装问题1、确定集群主管理节点,在此节点安装和配置集群,其它节点只安装软件即可。2、所有物理安装节点必须配置缺省网关 3、使用weblogic软件代理对核心业务线不适合 4、unix环境尽量使用nohup 方式启动各进程 5、尽量采用f5等负载均衡器做分发。f5安装问题一般f5会安装在应用服务器前,如果两台可按主备方式。远远程灾备symantec对应用级容灾要做远程容灾应用级测试一般厂商到场安装,建议进行演习测试。hporacleiit运维管理neusoft neteye soc需要提供监控内容部分需要讨论确定确认具体监控内容:1、主机cpu、内存、i/o等;2、编写对中间件、数据库、应用的监控脚本hp openviewca unicenteribm tivoli备备份symantec netbackp备份实施内容确定1、创建几个备份脚本,包括全备份,归档备,文件备等。2、演习测试ibm tsmhp data protector1.3.3 配置与优化阶段这个阶段是在平台环境基本搭建好后必须开展的工作,也是在应用部署前首要的任务。本节提供的都是多年来在建设大量项目中的经验积累,涉及多种软、硬件平台的优化。通过这种配置、优化后对常见大型应用可基本保证不出大的问题。1.3.4 应用部署与测试阶段这个阶段是在软件和集成都完成后,把软件部署在新的集成平台上并做压力测试的过程。在这个过程中需要对现有的环境做进一步优化。上线前准备阶段这个阶段是上线前的对系统做最后检查的阶段。需在各方面条件都满足要求的条件下才能上线。1.4 系统性能调优实用技术性能优化有很多技术,包括各个厂家的技术,也包括在实际调优过程中积累的经验。比如在数据库设计,如:表和索引等设计的时候,充分利用数据库的特色和性能,使程序运行效率最好;中间件也是一样,java程序开发的时候往往也会利用应用服务器的特性使程序效率最高。另外,对各平台软、硬件及应用性能的监控和性能诊断能力已成为系统整体性能的关键保障。下面将分别展开1.4.1 数据库配置及优化方法数据库是应用的核心,做好数据库的设计与优化是保证系统性能的关键。数据库的设计和优化通常包括如下内容:n 数据库的设计,包括表的设计、索引的设计等。表的设计要兼顾灵活性和易用性;n 根据表、索引的设计情况,估算每个表的基准数据量及大小,还有表数据的增长情况,合理设计每个表的参数值。对于数据量大的表,采用分区表和物化视图等技术,以及在设计上考虑历史表等方法来提高性能;n 根据表、索引的设计情况,合理设计表空间的大小、在磁盘上的分布以及相关的参数;n 合理调整数据库的初始化参数以及操作系统的内核参数等;n 合理规划客户端/连接池对数据库的连接数目;n 根据现场实际情况,定期监测和检查数据库的使用情况,并对不合理参数做出调整。同时,也定期对数据库中的碎片进行整理。本系统规模大(海量数据),连接点、实时性要求高,因此如何处理海量数据,是保证系统性能的关键。本节根据海量数据的特点阐述系统性控制措施。本项目采用oracle数据库,因此,数据系统性能的控制将结合oracle展开。“海量”数据库的概念一直在不断变化,1995 年时,容量大于100gb 的数据库就被认为是大型数据库。仅仅几年之后,数万亿字节的数据库已投入市场。vldb 是超大型数据库的(very large database)简称。 分区表和索引(partition table and index)技术根据实际经验,在一个大数据库中,数据库空间的绝大多数是被少量的表所占有。如何简化大数据库和管理,如何改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态地将表中记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。oracle引进了数据分区的技术,以加强对vldb的支持。当表的数据增大时,数据的载入/载出、备份/恢复占用了大量的时间,也使数据库管理员的任务变得复杂、繁琐,直接影响系统的可用性。所以,为了便于管理、提高关键数据的可用性、提高查询的性能,oracle可基于一定的关键值把表和索引分为若干可管理的小块分区,由于每个分区的操作是相对独立的,从而避免因一部分数据的无法访问而影响其他分区的数据的使用。这带来两方面的好处:第一、提高性能,只对存有被查数据的分区进行查找,从而加快速度;第二、高可用性,备份/恢复可以以分区为单位进行,减少管理时间;另外,数据是基于分区管理的,硬件的失败只会影响本地分区,不影响其他分区上的数据的操作,从而提高系统的可用性。这种分区的机制,对应用系统是透明的。图 13数据库分区技术oracle的分区( partitioning option)方式有 hash,range和composite 多种。这种灵活的分区方式好处是:l 目标准确的数据服务器管理l 高可用性l 应用性能提高由于结构的限制,多数服务器的分区导致为提高性能以牺牲目标准确的数据服务器管理和高可用性为代价。必须在它们之间作出选择。oracle的composite 分区方法则消除了这种情况。采用oracle的分区,数据的存储、管理、访问和备份都完全按你的业务要求。例如许多公司喜欢按日期分区,当数据到达一定的日期后,数据就不能再被查询。oracle的range 分区使过期的分区,仍然可被查询。oracle的分区显著地改进了数据的可用性。单一分区可被单独离线,不影响其它数据运行。查询永远是在所有分区正常的情况下才进行。oracle决不会提供不完整的查询结果。 并行化(parallelism )技术具有大内存与cpu资源的巨型系统已经出现十几年了,这些系统多采用mpp或smp结构,具有大计算能力,并且有很好的扩充性,然而,如果应用软件不能有效地利用这些计算机的特点,那么计算的能力将受到限制。oracle早在7. 1 版本中就引入了并行查询选项(pqo),以充分使用这些系统中可用的硬件资源。oracle并行查询选项允许长时间运行的sql操作(主要是查询),以协同方式在多个cpu间运行,这使系统减少了资源密集型sql 操作的运行时间。并行执行选项使多个服务器进程可以并行执行一定的操作。进程,称为查询协调器,将一条语句的执行调配到多个服务器执行,协同所有服务器的结果,并将结果返回给用户。图 14并行查询技术.1 并行sql(parallel sql execution)技术oracle 数据库是一个由不同的进程维护的物理数据文件的集合。这样一套后台进程与共享内存段,统称为oracle 实例,使并发用户可以与数据库交互。当一个用户需要使用(select 、insert 、update 或delete )数据库中的数据时,他需要连接到数据库。在大多数unix 系统中,oracle 使用两任务体系结构。在这个模式中,当一个用户连接到数据库时,派生一个附加的进程,通常称为影子进程、前台等等。影子进程代表用户存取共享内存段与数据文件。在vldb环境中,用户通常需要处理大量数据,影子进程完成必需的工作需要花费一段时间。由于影子进程操纵数据工作时间很长,很辛苦,系统很可能有空闲的c p u 与内存资源。这正是oracle 并行查询选项发挥作用的地方。通过使用这个选项,oracle 可以将一个用户的大量数据处理请求分解为多个、相对较小的工作单元,这些工作单元可以由不同的进程并发执行。它使用一套专有后台进程,称为并行查询伺服(服务器),完成这项工作。影子进程被提升为管理的角色,并称为查询协调器,查询协调器的职责如下:1)将功能分解为并行的小片。2)确保可以得到足够数量的并行查询伺服器。3)为给定的工作初始化伺服器进程,并在p q o 服务器的进程之间分派工作。4)从伺服器进程收集输出并将输出返回。5)当完成预期的工作后,查询伺服器进程被释放,并可由其他的工作获得。在最有利的情况下,并行执行减少了执行时间,执行时间的因子是使用的查询伺服器的个数。然而,由s q l 语句消耗的总时间并没有减少。并行执行比顺序执行使用更多的系统资源,这样可使的系统的资源得到有效的利用,而不是浪费。o r a c l e 服务器概念手册指出oracle 可以并行执行以下的操作:l 表扫描;l 嵌套循环连结;l 排序合并连结;l 哈西连结;l “not in ”;l group by ;l select distinct;l union 与union all;l 集合;l 从sql调用的pl / sql函数;l order by;l create table as select;l create index;l rebuild index;l move partition;l split partition;l update;l delete;l insert . . . select;l enable约束(表扫描是并行化的);l 星形变换。.2 并行数据装载(parallel load)技术在vldb中快速的数据装载速度显得非常重要,oracle的sql * loader工具可以并行执行,从而可提高数据装载的速度。oracle的并行装载有以下特点:l 每个sql * loader会话分派了一个新的区间并将数据载入新区间中,为优化系统的i / o性能,强烈建议在options子句中使用file与storage关键字控制新区间的位置与大小。file关键字可以在命令行或控制文件中定义,然而,存储子句只能在控制文件中定义。l 并行加载要求没有本地或全局索引。如果存在任何索引,会产生一个错误信息并退出加载操作。在加载之前需要手工删除索引,在加载完成后,再重建索引。l 每个加载会话需要一个表上的共享锁。l 每个加载会话都是独立的,在加载会话之间没有任何联系。l 当一个会话完成加载后,oracle将加载的区间与已有的区间连接到一起,上次加载区间中没有使用的块作为空区间返回,这导致加载之后非标准大小的区间。即使通过加载控制文件中的存储子句选项指定了区间大小,截断也会发生。.3 并行恢复(parallel recovery)技术在vldb中中当数据库出现意外损坏而需要恢复时,oracle提供了并行恢复的机制使系统的恢复进间尽量缩短。oracle 的基本读-写单位是数据块。每当对块进行修改时,oracle 将这些改变以重做日志的形式记录下来,如果需要时,可以使用这些日志重建这些块。如果由于介质失效或任何其他的原因而造成当前数据文件的内容丢失,那么这些文件可以从适当的备份拷贝中重建,然后进行恢复。恢复过程包括以下步骤:1 )读日志文件并获得数据块的修改序列号。2 )决定哪一个数据块需要改变。3 )在高速缓存中读这些数据块。4 )从重做日志中将相应的改变应用到这些数据块。5 )将修改完成的数据块写回硬盘。为在并行状态下进行恢复,需要设置初始化参数recovery_parallelism 。也可以使用recover 命令的parallel 子句代替。在并行恢复过程中,服务器管理器或sqldba 会话读重做日志文件并将改变传递给并行服务器进程。然后这些进程读相应的数据文件并应用改变。.4 并行传播(parallel propagate)技术复制使你可以维护多个数据库中的一个或多个数据库对象映象。oracle服务器在这些数据库之间通过数据库链传送数据,以传播对复制对象的改变。s n p 后台进程执行数据复制。然而,如果要复制的数据卷非常大,同步这个对象会花费很长时间。oracle 8 使用并行复制,其中可以使用多个并行服务器进程传播事务。 实体化视图(materialized view)技术实体化视图的基本技术与创建和维护快照的技术类似。实体化视图是一个存储派生数据的表。创建它时,指定用来提供实体化视图的sql 。对于vldb,实体化视图可以提供一些性能优势。根据基本sql 的复杂性,可以提供具有增量变化的实体化视图(通过一个实体化视图日志)而不是在数据刷新期间重建它。与快照不同,实体化视图可以被优化程序用来动态改变查询的执行路径。即使实体化视图在查询中没有被命名,这种称作查询重写的特性也可以使优化程序使用实体化视图来代替被实体化视图查询的表。例如,如果你有一个大型sales 表,就可以创建一个按区域汇总sales 数据的实体化视图。如果用户为获得一个区域的汇总sales 数据查询salas 表,oracle 就可以使这个查询使用实体化视图来取代sales 表。这样就可以减少对一些最大表的访问量,从而改进系统性能。若要启动查询重写的实体化视图,实体化视图的全部主表都必须处于实体化视图的模式,并且你必须有query rewrite 系统权限。如果视图和表处于不同的模式,就必须有global queryrewrite 系统权限。通常,应按与其所基于的表相同的模式创建实体化视图,否则就必须管理创建和维护实体化视图所需要的权限与授权。与快照一样,实体化视图创建一个存储数据的局部表和访问该数据的视图。根据实体化视图的复杂性,oracle 也可能在实体化视图的局部表上创建一个索引。可以搜索实体化视图的局部表来改进针对实体化视图的查询的性能。 位图索引(bitmap index)技术通常,索引创建在选择性很高的那些列上,即,在这些列上的行很少有相同的值。对于一个索引来说,其值只有“y ”或“n ”的列是非常糟糕的,因为该索引只含有两个值,所以通过这个列的任何访问都将返回表的一半记录。不过,如果这些索引列中的值属于一个完全静态的数值组,就应该考虑使用位映射索引。例如,如果在非常大的表employee中只有很少几个不同的state_code值,即使在where子句中经常使用这个列,通常也不在state_code上创建一个b*tree索引。然而,state_code列可以利用位映射索引。位图索引在内部将列的不同值映像到每个记录上。在这个例子中,假设在一个非常大的employee表中只有两个state_code值(nh和de)。由于只有两个state_code值,所以state_code位映射索引只有两个不同的位映射条目,如果表中前5行的state_code值为“de”,后面5行的state_code值为“nh”,那么state_code位映射条目就如下面所示:state_codebitmapde:nh:在上面的程序清单中,每一个数字代表employee表中的一个行。由于这里只考虑10行,所以只有10个位映

温馨提示

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

评论

0/150

提交评论