系统稳定性优化方案.doc

上传人:jian****018 文档编号:8039919 上传时间:2020-03-26 格式:DOC 页数:6 大小:55.50KB
返回 下载 相关 举报
系统稳定性优化方案.doc_第1页
第1页 / 共6页
系统稳定性优化方案.doc_第2页
第2页 / 共6页
系统稳定性优化方案.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
系统稳定性优化方案1. 系统优化从操作系统到WEB服务器,从数据库和SQL语句等都可以优化1.1. 操作系统检查系统的空载负荷。空载负荷指仅安装操作系统的情况下,通过一些工具查看系统的负载。这样做的目的是通过检查系统的运行情况,减少和屏蔽不必要的服务,最大限度的为应用系统提供更多的资源建议是通过编写脚本记录系统运行时的性能情况。比如按占用CPU对进程排序,如果是非核心进程,则可以根据情况停止这些进程的启动。1.2. TOMCATJAVA版本需求:必须要java 1.6及以上版本修改Tomcat目录/bin/catalina.sh文件中,找到注释文字的最后一段,敲入一个回车,加入如下的参数export 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:LargePageSizeInBytes=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 当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=Xmn就不会出现promotion failed。比如设置为40,则(3096-1024)*0.6=1243 ,大于Xmn。修改Tomcat目录/conf/server.xml文件中内容其中maxThreads表示:Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。 acceptCount表示:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。 connnectionTimeout表示:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 minSpareThreads表示:Tomcat初始化时创建的线程数。 maxSpareThreads表示:一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。1.3. 数据库和SQL如果数据库是单独的服务器,则建议SGA配置为物理内存的80%。SQL优化原则:根据where子句中的字段创建相应的索引或复合索引。哪些字段包括在复合索引?字段的值具有明显的唯一性。比如日期、GUID等。有些字段的取值范围有限,比如取值范围是0-5,或真假等,这样的字段就不用放到索引中复合索引和单一索引。如果WHERE子句中经常是字段1和字段3作为检索条件,则创建复合索引,包括字段1和字段3;如果WHERE子句中是字段2作为检索条件,则创建单一索引,即以字段2为索引2. 系统异常宕机分析步骤2.1. 简述本章节适用于有一定周期性发生的系统异常宕机情况。从以下组件/系统分析可能引起宕机:应用程序、数据库、硬件/网络、操作系统、其它2.1.1. 必要的前置条件有最近一段时间的系统运行时的性能情况。性能情况包括如下信息点: 系统运行时的负载 内存占用情况 CPU占用情况 磁盘空闲空间因此要编写相应的性能监控脚本来记录系统运行时的性能情况。性能监控脚本应满足如下要求: 执行监控脚本的周期为分钟级(在不影响系统整体性能的前提下)。比如每1分钟执行一次脚本,以便记录当前系统的性能情况。 监控脚本要将当前系统情况的信息保存到文件中,以便事后分析 按天存放监控脚本产生的性能情况。 至少要保留连续30天的性能日志文件(如果磁盘空间足够的话,建议可以保留更长时间的性能日志文件)2.2. 从以下几方面来分析宕机的原因。2.2.1. 应用系统和WEB服务器必要的前置条件:在执行更新部署包前需要备份相应的文件引起宕机的可能原因包括:2.2.2. 应用系统更新常见的情况是应用系统已经正常运行了一段时间,在更新某个部署包后出现了宕机。针对这种情况的检查步骤是:A. 检查catalina.out等应用级日志文件,看是否有明显的异常信息。如果有异常信息且与部署包的模块有关,则建议将应用程序恢复到部署前的版本。因此要求在执行更新部署包前需要备份相应的文件B. 如果步骤A没有发现异常,则建议询问开放人员,了解部署包是否有需要长时间执行才能完成的SQL。如果有,则建议将应用程序恢复到部署前的版本C. 如果是月末或月初,则需要考虑是否有定时任务同时执行或某些定时任务占用太多资源。应该从catalina.out等应用级日志文件中检查。如果有,则考虑是否将定时任务的执行时间分开或优化SQL2.2.3. WEB服务器的配置参数检查WEB服务器的配置参数中的最大线程数、数据库的连接池数量等参数是否过小2.2.4. 业务量的增长某项业务涉及的数据出现了爆发式增长,引起执行相关的操作占用大量系统资源。2.3. 数据库引起宕机的可能原因包括: 常见的情况是某关键数据表的数据大量增加,导致占用资源太多 错误修改了数据库配置,比如重新分配了SGA、设置日志空间大小等。 没有执行某些关键的数据库补丁。定期检查ORACLE发布的补丁包,并根据当前数据库版本下载相应补丁包。执行补丁包需要按照补丁包的说明来更新。更新后,需要核实是否执行成功2.4. 硬件和网络常见情况是由于硬件出现故障导致宕机。由硬件工程师查询系统日志或到服务器前查看是否有报错提示。2.5. 操作系统常见情况是系统自带的软件或服务占用过多的系统资源或安装的某些软件占用过多系统资源检查点包括: 是否更新了操作系统补丁。某些操作系统的初始版本有BUG,操作系统厂家发布了相应的补丁。建议是定期安装补丁 是否打开或关闭了某个系统级服务。某些操作系统自带的服务(比如FTP等)是随着系统一起启动的,如果不需要这些服务,建议是关闭,以释放更多的内存资源。 是否有进程占用太多CPU。通过性能监控脚本可以查看哪些进程占用过多的CPU,如果是与业务无关的进程,则建议关闭这些进程。3. 备份3.1. 应用程序/文件级备份对linux/unix操作系统的文件或目录进行备份/迁移。适用于以下情况: 部署包需要更新多个目录的多个文件 日常备份应用系统所在的目录 其它文件级备份操作 将服务器上的文件/目录迁移到其它服务器上(相同的操作系统)场景1:备份当前目录下的web子目录下的全部目录和文件命令如下:tar -czf web_20130604.tar.gz web参数说明: -czf 表示是执行压缩操作 Web_20130604.tar.gz 是目标文件名。注意:因为之前的参数带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.gz是对web目录执行的压缩,因此解压时,会在当前目录下创建web子目录3.2. 数据库备份场景1:用exp备份整个数据库通过oracle自带的exp命令执行数据库导出(备份)(以oracle用户登录系统)命令如下:exp partner_dev/partner_dev BUFFER=64000 FILE=/datadg/data/test/partner_dev_20131126.dmp log=/datadg/data/test/partner_dev_20131126.log OWNER=partner_dev参数说明: partner_dev/partner_dev 是连接数据库的用户名和密码。如果是在非数据库本机上执行还需要增加服务器名的参数 FILE=/datadg/data/test/partner_dev_20131126.dmp 是指定备份文件的文件名(带全路径) 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 (具体的值要与数据库的字符集配置相同,不可完全照抄)场景2:备份某个单表的数据以oracle为例,在PLSQL Develop或SQLPLUS等客户端工具中执行如下SQLSQLcreate table taw_system_user_old as select * from taw_system_user;说明: taw_system_user_old是备份的目标表 Create table和as是关键字 taw_system_user是要备份的源表
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!