系统服务器性能优化

上传人:m**** 文档编号:569536477 上传时间:2024-07-30 格式:PPT 页数:34 大小:961.51KB
返回 下载 相关 举报
系统服务器性能优化_第1页
第1页 / 共34页
系统服务器性能优化_第2页
第2页 / 共34页
系统服务器性能优化_第3页
第3页 / 共34页
系统服务器性能优化_第4页
第4页 / 共34页
系统服务器性能优化_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《系统服务器性能优化》由会员分享,可在线阅读,更多相关《系统服务器性能优化(34页珍藏版)》请在金锄头文库上搜索。

1、系统服务器性能优化作者:夏明磊 目目 录录2 2具 体 优 化 方 案1 1相 关 名 称 解 释3 3集 群 介 绍 及 演 示相关名词解释系统1系统2负载指标性能指标系统的性能随负载的增加而增加系统的性能随负载的增加而增加但是,不同的系统随负载增加但是,不同的系统随负载增加所表现的性能不一样所表现的性能不一样相关名词解释 并发用户数的简称,最常用的负载指标,严格意义上讲并发数是指在某一时刻进行同一操作的用户数。并发数并发数吞吐率吞吐率 最常见的衡量系统运行快慢的运行指标,定义为应用系统在单位时间内实际处理的交易数量或页面单击数量。相关名词解释 也是常见的衡量系统快慢的运行指标,定义为用户向

2、系统请求一个页面开始到对应页面完全显示在浏览器内的时间间隔,一般说响应时间越低越好。响应时间响应时间系统资源占用系统资源占用 是一个“后台”指标,在相同的负载条件下,应用程序占用资源越少越好,可以为高峰期或未来增加的负载留有余地。各指标之间的关系各指标之间的关系相关名词解释 考察应用系统的性能,往往关注指标发生变化时的情况,即各指标之间的关系。通过坐标吐查看系统性能,一般把负载指标作为系统的输入指标(横坐标),把运行指标或资源占用指标作为输出指标(纵坐标)。并发数最大吞吐率吞吐率饱和点崩溃点N2N1并发数最佳响应时间响应时间饱和点崩溃点N2N1CPU占有率100%饱和点崩溃点N2N1并发数1

3、1具 体 优 化 方 案2 2相 关 名 称 解 释3 3集 群 介 绍 及 演 示目录具体优化方案1.数据库连接池设置 在应用程序中找到dbconfiguration.properties 文件,查看其中的参数: #数据库连接池最小连接数c3p0.minPoolSize=15 #数据库连接池最大连接数c3p0.maxPoolSize=200 #数据库连接池初始化数c3p0.initialPoolSize=15一:一:数据库优化数据库优化具体优化方案修改oracle数据库默认链接数,适当调大; ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下

4、: sessions=(1.1*process+5)。具体修改步骤:以sysdba身份登陆数据库客户端查询目前连接数: showparameterprocesses; 更改系统连接数: altersystemsetprocesses=1000scope=spfile; altersystemsetsessions=1200scope=spfile; 创建pfile:createpfilefromspfile; 重启Oracle服务或重启Oracle服务器具体优化方案2.数据库SGA内存块优化SGA是oracle最主要的内存块, 32位系统下SGA最大不能超过1.7G,SGA块中主要包括数据缓冲

5、区、大型池、java池和共享池等几部分,oracle(适用于oracle10g以上)按照他们不同作用自动分配占用SGA内存块的比例。具体优化方案 对数据库内存的优化主要是适当调整SGA内存块的大小以及每一部分的分配比例。数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的大小;还可以调整程序全局区(PGA区)的大小。需要注意的是,SGA区不是越大越好,SGA区过大会占用操作系统使用的内存而引起虚拟内存的页面交换,这样反而会降低系统。建议:建议:SGA设为操作系统内存的一半设为操作系统内存的一半具体优化方案避免apache对DNS进行查询。 设置HostnameLookupson

6、,它会带来延迟,因为对每一个请求都需要作一次DNS查询。最好是在其他机器上,而不是在web服务器上执行处理和其他日志统计操作,以免影响服务器的性能。可以把HostnameLookups指令包含在段中使之局部化。在这种情况下,只有对这个区域的请求才会发生DNS查询。下例禁止除了.html和.cgi以外的所有DNS查询:HostnameLookupsoffHostnameLookupson 二:二:Apache优化优化具体优化方案禁用符合链接验证 如果网站空间中没有使用 OptionsFollowSymLinks ,或使用了 OptionsSymLinksIfOwnerMatch ,Apache就

7、必须执行额外的系统调用以验证符号连接。文件名的每一个组成部分都需要一个额外的调用。例如,如果设置了:DocumentRoot/www/htdocsOptionsSymLinksIfOwnerMatch 在请求“/index.html”时,Apache将对“/www”、“/www/htdocs”、“/www/htdocs/index.html”执行lstat()调用。而且lstat()的执行结果不被缓存,因此对每一个请求都要执行一次。这样就造成Apache响应请求的时间就会延长,为了得到最佳性能,可以放弃对符号连接的保护,在所有地方都设置FollowSymLinks,并放弃使用SymLinksI

8、fOwnerMatch 。 具体优化方案Apache连接参数的调整MPM(Multi-ProcessingModules,多道处理模块 )workerMPM使用多个子进程,每个子进程中又有多个线程。每个线程处理一个请求。该MPM通常对高流量的服务器是一个不错的选择。因为它比workerMPM需要更少的内存且更具有伸缩性。 preforkMPM使用多个子进程,但每个子进程并不包含多线程。每个进程只处理一个链接。在许多系统上它的速度和workerMPM一样快,但是需要更多的内存。这种无线程的设计在某些情况下优于workerMPM:它可以应用于不具备线程安全的第三方模块,且在不支持线程调试的平台上易

9、于调试,而且还具有比workerMPM更高的稳定性。 具体优化方案下面是prefork默认的参数配置: StartServers5 #初始进程数 MinSpareServers5 #最小空闲进程数MaxSpareServers10 #最大进程数 MaxClients150 #Apache可以同时处理的请求数MaxRequestsPerChild0 #每个进程最多可处理的子进程数 具体优化方案prefork的工作原理: 控制进程在最初建立StartServers个子进程后,为了满足MinSpareServers设置的需要,创建一个进程,等待一秒钟,继续创建第二个,等待一秒钟,继而创建四个,如此按

10、指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止,这也就是预派生(prefork)的由来。这种模式可以使得不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。具体优化方案MaxSpareServers设置了最大的空闲进程数,如果空闲进程数大于这个值,Apache会自动kill某些多余进程。这个值一般不要设的过大,但如果设的比MinSpareServers小,Apache会自动把它调整为MinSpareServers+1。如果站点负载较大的话,可考虑同时加大 MinSpareServers和MaxSpareServers。 MaxRequ

11、estsPerChild设置的是每个子进程可以处理的请求数。每个子进程在处理了MaxRequestsPerChild个请求后将自动销毁。0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处: 1、可防止意外的内存卸漏; 2、在服务器负载下降的时侯会自动减少子进程数。具体优化方案 MaxClients是这些指令中最为重要的一个,它设定的就是Apache可以同时处理的请求,这是对Apache性能影响最大的参数. 缺省的150是远远不够的,如果请求总数已达到这个值,那么下面的请求就要排队,直到某个已处理请求完毕。这就是为什么系统资源还剩下很

12、多,而http访问却很慢的主要原因。 系统管理员可以根据硬件配置和负载情况来动态调整这个值,虽然理论上这个值越大,可以处理的请求就越多,但Apache默认的限制是不能大于256。如果把这个值设为大于256那么Apache将无法起动。 具体优化方案主要是优化主要是优化jvm虚拟机参数,适当扩大虚拟机参数,适当扩大java运行是可以分配的运行是可以分配的内存数。内存数。编辑/bin/run.conf, 在文件的底部找到对参数JAVA_OPTS进行设置的地方。这个参数会最后传到jvm里。其中-Xms512m 代表jvm最少用 512m内存 -Xmx1024m 代表jvm最多使用 1024m内存 修改

13、这个两参数,给jvm分配适当的内存,一般为服务器的3/4内存量,推荐至少使用4G内存。另外添加两个参数,可以让服务并行回收内存空间。-XX:+UseParallelGC-XX:+UseParallelOldGC三:三:Jboss优化优化具体优化方案起用起用JBossJBoss内的内的tomcattomcat对传输数据的压缩功能对传输数据的压缩功能系统里用到的大量javascript、css等,为了减少传输时间,可以起用压缩功能。方法是:打开server.xml,找到Connector元素,添加如下配置:compression=”on”compressionMinSize=”2048noComp

14、ressionUserAgents=”gozilla,traviata”compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml”/具体优化方案降低降低jbossjboss输出日志的等级输出日志的等级打开 /server/default/conf/jboss-log4j.xml ,这是一个log4j的配置文件。日志输出的太多,会导致服务器性

15、能降低,所以减少不必要的日志输出。方法大体如下:1. 找到 name=”org.jboss” 的category 元素,设置里面的priority元素为 2. 建一个新的category,内容为 log4j 还能够将不同的日志输入到不同的地方,为了以后维护方便,应该将不同 category的日志输入到不同的文件里。具体优化方案Java虚拟机内存设置: Windows下,在文件tomcat_home/bin/catalina.bat,Unix下,在文件tomcat_home/bin/catalina.sh的前面,增加如下设置:JAVA_OPTS=“-Xms初始化内存大小 Xmx可以使用的最大内存

16、” 另外需要考虑的是Java提供的垃圾回收机制。一次完全的垃圾收集应该不超过 3-5 秒,堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。四:Tomcat优化具体优化方案Tomcat日志配置 设置log4j日志级别,控制打印日志文件的大小。特别是在系统正式应用的时候,日志的级别设置太高,会造成系统性能下降和资源的浪费。但我们在系统开发过程中,可以把日志级别调高,便于查找问题所在。 日志级别通常有六种:LOG、DEBUG、INFO、WARN、ERROR和fatal,下面是控制日志级别为“warn”级别的设置

17、.berheley=WARNlog4j.logger.org.springframework=WARNlog4j.logger.org.hibernate=WARN具体优化方案Java内存溢出的几种情况内存溢出的几种情况 1.JVM有真实的内存泄漏,导致此JVM堆在内部实现时产生了一个Bug。出现这种情况的可能性极低。JVM都经过充分的测试,如果有人发现这种bug,它将绝对是最高的优先级。2.没有为应用程序在运行时给予足够多的可用内存。这种情况,有两种可能的方案: 增加JVM堆可用大小,设置JVM参数。 减少你的应用程序所需的内存总量,例如使用了许多 大的缓冲区。具体优化方案3.3. 无心的对

18、象引用保持。没有明确无误的释放对象,以致于堆增长再增长,直到没有额外的空间。 找到保持这些无意引用的源对象,改变它并释放这些对象。例如有一种查找方法:a)强迫垃圾收集,获得一个堆的对象快照。b)进行一些操作后,强迫另一次垃圾收集并获得第二次堆的对象快照。c)比较这两个快照,观察从第一个快照到第二个快照哪些对象在数量上有所增加。因为在快照之前强迫垃圾收集,剩下的将是所有被应用程序引用的对象,比较两个快照将准确的标识那些新创建的、保留在应用程序里的对象。d)根据你对应用程序的认识,决定两个快照比较中,哪些对象正在无意的保持对象引用,直到你找到导致此问题的源对象。 1 1具 体 优 化 方 案3 3

19、相 关 名 称 解 释2 2集 群 介 绍 及 演 示目录集群介绍及演示 计算机集群简称集群,是一种计算机系统,它通过软件和/或硬体把多台计算机以特殊的方式连接起来,协作完成指定的任务。对于用户而言,使用一个集群系统就象使用一台计算机一样。位于集群系统中的计算机通常称为节点,节点直接通常采用以太网或专用网络连接。 与单一服务实体相比较,集群提供了以下两个关键特性: 可扩展性集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。 高可用性集群通过服务实体冗余使客户端免于轻易遇到outofservice的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务

20、实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。 集群介绍及演示集群两大技术集群两大技术集群地址集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。 内部通信为了能协同工作、实现负载均衡和错误恢复,集群各实

21、体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。 集群介绍及演示负载均衡基本配置负载均衡基本配置apache+JBoss负载的基本原理:apache使用JK进行内部通讯,按照不同的负载配置向集群中的每一个节点分发请求,以达到加强负载的效果。 基本的负载均衡配置需要用到的模块和配置文件包括:JK模块:需要单独下载,把扩展名改成.so后,放到apache的modules目录中。JK加载配置文件:用来加载JK模块和设置日志信息。URL路由配置文件:配置哪些请求需要分发。负载均衡器:配置集群服务器节点。集群介绍及演示JKJK加载配置文件:加载配置文件:mod

22、-mod-jk.confjk.conf# 加载mod_jk.so模块 LoadModulejk_modulemodules/mod_jk.so # 配置负载均衡器JkWorkersFileconf/workers.properties # 配置日志文件存放位置JkLogFilelogs/mod_jk.log #设置日志文件的级别debug/error/info JkLogLevelinfo # 选择日志文件的日期格式JkLogStampFormat%a%b%d%H:%M:%S%Y # 设置url路由JkMountFileconf/uriworkermap.properties集群介绍及演示 负

23、载均衡器配置负载均衡器配置# 定义一个worker集合,每个worker就是一个Tomcat实例 worker.list=loadbalancer,status#DefineNode1 # 配置加入集群的机器IP地址和web服务器端口号 worker.node209.port=8019worker.node209.host=192.168.1.250# ajp13用来与Tomcat进行通讯的协议worker.node209.type=ajp13# 配置该台机器负载比例 worker.node209.lbfactor=1# 配置数据文件的缓存大小,只有当在多线程的webserver中使用JK时,

24、 # 此属性才有效worker.node209.cachesize=10集群介绍及演示# 加载负载均衡器,使之生效 worker.loadbalancer.type=lb# 设置哪些节点加入负载中worker.loadbalancer.balance_workers=node212,node209# 设置session是否启用“粘着的”,集群中session可以设置两种状#态:复制,粘着。#sticky_session值为“1”或“true”表示“粘着”,值为“0”或“false”表#示“复制”worker.loadbalancer.sticky_session=1#worker.list=l

25、oadbalancer#Statusworkerformanagingloadbalancerworker.status.type=status集群介绍及演示修改修改JBossJBoss配置文件配置文件a.a.修改JBOSS_HOME/server/all/deploy/jboss-web.deployer/server.xml文件,将Engine 修改如下:. node1和node2分别对应相应IP的JBoss; b.b.修改 JBOSS_HOME/server/all/deploy/jboss-web.deployer /META-INF/jbossservice.xml,找到该为:true至此JBoss集群环境基本配置完成,先启动Apache,然后启动JBoss,并进行测试。 天津博和利科技有限公司网址网址: : 电话电话: 022-27058558: 022-27058558传真传真: 022-83716069 : 022-83716069 地址:天津市新技术产业园区地址:天津市新技术产业园区 海泰信息广场海泰信息广场H H座座205 205

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号