系统稳定性优化方案
- 格式:pdf
- 大小:327.17 KB
- 文档页数:6
引
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等应用级日志文件中检查。如果有,则考虑是否将定时任务的执行时间分开或优化SQL
2.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