版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、系统稳定性优化方案1. 系统优化从操作系统到WEB服务器,从数据库和SQL语句等都可以优化1.1. 操作系统检查系统的空载负荷。空载负荷指仅安装操作系统的情况下,通过一些工具查看系统的负载。这样做的目的是通过检查系统的运行情况,减少和屏蔽不必要的服务,最大限度的为应用系统提供更多的资源建议是通过编写脚本记录系统运行时的性能情况。比如按占用CPU对进程排序,如果是非核心进程,则可以根据情况停止这些进程的启动。1.2. TOMCATJAVA版本需求:必须要java 1.6及以上版本修改Tomcat目录/bin/catalina.sh文件中,找到注释文字的最后一段,敲入一个回车,加入如下的参数exp
2、ort JAVA_OPTS="-server -Xms3096M -Xmx3096M -Xmn1024m -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInByte
3、s=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly 配置参数说明:1. -server 表示TOMCAT以产品模式启动2. -Xms和 -Xmx为JVM的值。需要测试配置的值是否有效。在命令提示符下键入如下命令:Java -Xmx3096M -version如果显示如下所示,则说明配置值有效如果显示如下所示,则说明配置值无效3. -Xmn 推荐配置为整个堆的3/84. -Xss 设定每个线程的堆栈大小。一般不易设置超过1M,要不然容易出现out ofmemory5. -XX:+AggressiveOpts
4、当JDK版本升级时,都会使用最新加入的优化技术6. -XX:+UseBiasedLocking 启用一个优化了的线程锁,对线程处理自动进行最优调配。7. -XX:PermSize=128M-XX:MaxPermSize=2024M PermSize是物理内存的1/64,MaxPermSize是物理内存的1/48. -XX:LargePageSizeInBytes 指定 Java heap的分页页面大小9. -XX:CMSInitiatingOccupancyFraction基本上满足(Xmx-Xmn)*(100- CMSInitiatingOccupancyFraction)/100>=
5、Xmn就不会出现promotion failed。比如设置为40,则(3096-1024)*0.6=1243 ,大于Xmn。修改Tomcat目录/conf/server.xml文件中内容<Connector port="8084" maxHttpHeaderSize="8192"maxThreads="600" minSpareThreads="100" maxSpareThreads="200"enableLookups="false" redirectPort=&q
6、uot;8445" acceptCount="200"connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncoding="true" />其中maxThreads表示:Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。 acceptCount表示:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数
7、的请求将不予处理。 connnectionTimeout表示:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 minSpareThreads表示:Tomcat初始化时创建的线程数。 maxSpareThreads表示:一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。1.3. 数据库和SQL如果数据库是单独的服务器,则建议SGA配置为物理内存的80%。SQL优化原则:根据where子句中的字段创建相应的索引或复合索引。哪些字段包括在复合索引?字段的值具有明显的唯一性。比如日期、GUID等。有些字段的取值范围有限,比如取值范
8、围是0-5,或真假等,这样的字段就不用放到索引中复合索引和单一索引。如果WHERE子句中经常是字段1和字段3作为检索条件,则创建复合索引,包括字段1和字段3;如果WHERE子句中是字段2作为检索条件,则创建单一索引,即以字段2为索引2. 系统异常宕机分析步骤2.1. 简述本章节适用于有一定周期性发生的系统异常宕机情况。从以下组件/系统分析可能引起宕机:应用程序、数据库、硬件/网络、操作系统、其它2.1.1. 必要的前置条件有最近一段时间的系统运行时的性能情况。性能情况包括如下信息点:Ø 系统运行时的负载Ø 内存占用情况Ø CPU占用情况Ø 磁盘空闲空间因
9、此要编写相应的性能监控脚本来记录系统运行时的性能情况。性能监控脚本应满足如下要求:Ø 执行监控脚本的周期为分钟级(在不影响系统整体性能的前提下)。比如每1分钟执行一次脚本,以便记录当前系统的性能情况。Ø 监控脚本要将当前系统情况的信息保存到文件中,以便事后分析Ø 按天存放监控脚本产生的性能情况。Ø 至少要保留连续30天的性能日志文件(如果磁盘空间足够的话,建议可以保留更长时间的性能日志文件)2.2. 从以下几方面来分析宕机的原因。2.2.1. 应用系统和WEB服务器必要的前置条件:在执行更新部署包前需要备份相应的文件引起宕机的可能原因包括:2.2.2.
10、应用系统更新常见的情况是应用系统已经正常运行了一段时间,在更新某个部署包后出现了宕机。针对这种情况的检查步骤是:A. 检查catalina.out等应用级日志文件,看是否有明显的异常信息。如果有异常信息且与部署包的模块有关,则建议将应用程序恢复到部署前的版本。因此要求在执行更新部署包前需要备份相应的文件B. 如果步骤A没有发现异常,则建议询问开放人员,了解部署包是否有需要长时间执行才能完成的SQL。如果有,则建议将应用程序恢复到部署前的版本C. 如果是月末或月初,则需要考虑是否有定时任务同时执行或某些定时任务占用太多资源。应该从catalina.out等应用级日志文件中检查。如果有,则考虑是否
11、将定时任务的执行时间分开或优化SQL2.2.3. WEB服务器的配置参数检查WEB服务器的配置参数中的最大线程数、数据库的连接池数量等参数是否过小2.2.4. 业务量的增长某项业务涉及的数据出现了爆发式增长,引起执行相关的操作占用大量系统资源。2.3. 数据库引起宕机的可能原因包括:Ø 常见的情况是某关键数据表的数据大量增加,导致占用资源太多Ø 错误修改了数据库配置,比如重新分配了SGA、设置日志空间大小等。Ø 没有执行某些关键的数据库补丁。定期检查ORACLE发布的补丁包,并根据当前数据库版本下载相应补丁包。执行补丁包需要按照补丁包的说明来更新。更新后,需要核实
12、是否执行成功2.4. 硬件和网络常见情况是由于硬件出现故障导致宕机。由硬件工程师查询系统日志或到服务器前查看是否有报错提示。2.5. 操作系统常见情况是系统自带的软件或服务占用过多的系统资源或安装的某些软件占用过多系统资源检查点包括:Ø 是否更新了操作系统补丁。某些操作系统的初始版本有BUG,操作系统厂家发布了相应的补丁。建议是定期安装补丁Ø 是否打开或关闭了某个系统级服务。某些操作系统自带的服务(比如FTP等)是随着系统一起启动的,如果不需要这些服务,建议是关闭,以释放更多的内存资源。Ø 是否有进程占用太多CPU。通过性能监控脚本可以查看哪些进程占用过多的CPU
13、,如果是与业务无关的进程,则建议关闭这些进程。3. 备份3.1. 应用程序/文件级备份对linux/unix操作系统的文件或目录进行备份/迁移。适用于以下情况:Ø 部署包需要更新多个目录的多个文件Ø 日常备份应用系统所在的目录Ø 其它文件级备份操作Ø 将服务器上的文件/目录迁移到其它服务器上(相同的操作系统)场景1:备份当前目录下的web子目录下的全部目录和文件命令如下:tar -czf web_20130604.tar.gz web参数说明:Ø -czf 表示是执行压缩操作Ø Web_20130604.tar.gz 是目标文件名。注
14、意:因为之前的参数带z,所以扩展名是.tar.gzØ Web是要备份的目录名,即源目录名场景2:查看压缩文件的内容执行了压缩后,想查看压缩文件的文件和目录结构方法1:从服务器下载到windows电脑,用好压或winrar等压缩软件打开查看方法2:在服务器上执行 tar -tlf web_20130604.tar.gz场景3:从备份文件中恢复/解压命令如下:Tar -xzf web_20130604.tar.gz参数说明:Ø -xzf 表示是执行解压操作Ø Web_20130604.tar.gz 是文件名。即从这个文件中解压。由于之前Web_20130604.tar
15、.gz是对web目录执行的压缩,因此解压时,会在当前目录下创建web子目录3.2. 数据库备份场景1:用exp备份整个数据库通过oracle自带的exp命令执行数据库导出(备份)(以oracle用户登录系统)命令如下:exp partner_dev/partner_dev BUFFER=64000 log=/datadg/data/test/partner_dev_20131126.log OWNER=partner_dev参数说明:Ø partner_dev/partner_dev 是连接数据库的用户名和密码。如果是在非数据库本机上执行还需要增加服务器名的参数Ø 是指定备
16、份文件的文件名(带全路径)Ø log=/datadg/data/test/partner_dev_20131126.log 是指定执行备份时的日志文件,即将执行备份的操作保存到文件中,以便备份完毕后检查是否中途发生错误。Ø OWNER=partner_dev 指定备份的数据库的属主备份完毕后一定要检查log参数指定的日志文件的内容。可下载到本地用UE等文本工具打开。如果日志文件的尾部显示:Export terminated successfully without warnings.,则说明备份成功,否则要根据错误代码解决问题。常见的问题包括由于没有设置NLS等参数会导致报错。因此需要在用户的profile中设置如下环境变量NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" (具体的值要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年温州大客车从业资格证考试试题
- 2024年迪庆客运资格证考试题库下载
- 人教部编版二年级语文上册第22课《狐假虎威》精美课件
- 吉首大学《建筑设计Ⅴ》2021-2022学年第一学期期末试卷
- 吉首大学《场景设计》2021-2022学年第一学期期末试卷
- 《机床夹具设计》试卷17
- 吉林艺术学院《艺术批评写作》2021-2022学年第一学期期末试卷
- 吉林艺术学院《全媒体文案创意写作》2021-2022学年第一学期期末试卷
- 签订宴会厅协议书范本范本
- 吉林艺术学院《CG模型设计》2021-2022学年第一学期期末试卷
- 生产检验记录表
- 化工厂设计车间布置设计
- 幼儿园故事《水果屋》
- 工程设备采购方案(模板16篇)
- 工业产品质量安全风险管控清单及日管控、周排查、月调度记录表
- 【新能源汽车的成本控制与盈利能力-以比亚迪公司为例(论文)】
- WICH-01-04(01)-热食类工艺流程图及流程描述
- T-STSI 43-2023 人工智能算力资源池技术规范
- 特种作业安全监护人员培训
- 篮球智慧树知到课后章节答案2023年下浙江大学
- 各种泥浆处理剂性能简介
评论
0/150
提交评论