系统稳定性优化方案

  • 格式:doc
  • 大小:63.50 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统稳定性优化方案

1.系统优化

从操作系统到WEB服务器,从数据库和SQL语句等都可以优化

1.1. 操作系统

检查系统的空载负荷。空载负荷指仅安装操作系统的情况下,通过一些工具查看系统的负载。

这样做的目的是通过检查系统的运行情况,减少和屏蔽不必要的服务,最大限度的为应用系

统提供更多的资源

建议是通过编写脚本记录系统运行时的性能情况。比如按占用CPU对进程排序,如果是非

核心进程,则可以根据情况停止这些进程的启动。

1.2. TOMCAT

JA V A版本需求:必须要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/8

4.-Xss 设定每个线程的堆栈大小。一般不易设置超过1M,要不然容易出现out ofmemory

5.-XX:+AggressiveOpts 当JDK版本升级时,都会使用最新加入的优化技术

6.-XX:+UseBiasedLocking 启用一个优化了的线程锁,对线程处理自动进行最优调配。

7. -XX:PermSize=128M-XX:MaxPermSize=2024M PermSize是物理内存的1/64,MaxPermSize 是物理内存的1/4

8.-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="600" minSpareThreads="100" maxSpareThreads="200"

enableLookups="false" redirectPort="8445" acceptCount="200"

connectionTimeout="20000" disableUploadTimeout="true"

其中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服务器

必要的前置条件:在执行更新部署包前需要备份相应的文件

引起宕机的可能原因包括: