系统稳定性优化方案
- 格式:doc
- 大小:63.50 KB
- 文档页数:6
系统稳定性优化方案
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服务器 必要的前置条件:在执行更新部署包前需要备份相应的文件 引起宕机的可能原因包括: