平台XXXX系统无响应故障报告

 

一、故障时间:

发生时间:2015.11.17  凌晨2:10点左右

解决时间:2015.11.17  早上8:40分左右

二、故障解决人员:

XXX

三、故障现象:

XXX WEB、系统无法登陆,通过堡垒机连接系统完全无响应,数据库主库大量的查询被阻塞,插入更新语句无法执行

四、故障排查:

首先通过堡垒机登陆XXX系统,查看状态,但是因系统无响应,只有联系idc机房人员进行手动重启系统。同时登陆平台数据库主库系统查看MySQL进程状态,显示出大量的表需要等待XXX_order表的tableflush状态完成(P-2所示)。大约10分钟后XXX系统启动完成,登陆后查看系统状态,各个服务都运行良好。只是一直收到监控系统的报警:系统进程在不断增加。应该可以很清楚的知道是因为数据库的XXX_order和XXX_task_queue表需要完成flushtable,而长时间没有完成导致的。

五、故障解决:

目前的主要问题就在如何解决阻塞的问题,当时通过查看系统进程大概有3000多个Waitingfor  table flush的SQL,全部是XXX库(XXX_order)相关的表(P-2所示)。手工kill掉一些select类型的SQL并不能起作用,这时候应该找到产生阻塞的具体SQL才对。之前对数据库系统做了一个监控系统进程状态的脚本,打开日志文件,查看里面具体的SQL(P-3所示)找到执行时间最长的那个,kill掉对应的SQL  ID应该就释放了阻塞。大量的Waiting for  table flush 状态消失,系统恢复正常。

P-1

P-2

P-3

六、故障原因:

因一个性能较差通过手工执行的SQL在通过堡垒机进行查询时手工终止(ctrl+c)但是在MySQL实例已经开始了Copying数据到tmp表中,并没有结束掉,还是一直在数据库中执行。查询执行时间长达10多个个小时。同时备份的脚本启动,开始出现阻塞的时间在凌晨2点钟左右,那个时间正好是数据库备份开始执行的时间,mysqldump会发出flushtables的动作,因为SQL执行的慢,导致无法完成mysqldump需要对XXX_order和XXX_task_queue表的tableflush动作导致阻塞了其他查询,插入更新等对XXX_order和XXX_task_queue表的请求的堆积,同时XXX系统相关的计划任务很多是每一分钟执行一次,造成XXX的计划任务不能及时执行完成,系统进程数量陡增(P-4所示),造成XXX系统崩溃。

P-4

七、问题解决方案

1. 监控MySQL Processlist 的xxx_select账号执行的时间,如果超过1800秒就将其线程进行kill掉终止执行。

2. 通过Nagios监控MySQL Processlist中出现Waitingfor  table flush、Waitingfor table metadata lock和flushtable with read lock的数量,如果超过5个就要发出报警,运维人员介入处理,根据日志来查找具体原因

3. 搭建一个新的专门处理查询任务的从库,此从库不影响业务

八、故障后的反思:

通过这次故障应该吸取教训:

1. 对数据库的任何操作都要谨慎、敬畏,因为数据是企业的生命。当进行增删改查的时候就要知道造成的后果是什么?操作前做好充分的测试,再去线上进行执行,比如看SQL的执行计划是否是最优化的性能、是否会造成数据的不一致问题,主从是否会出现中断等。不会对现有的业务造成影响,否则就不应该进行线上操作,切记!

2. 运维在系统监控这边执行的不是很到位,需要自我反省。通常在手机接收到报警的时候第一时间进行处理(凌晨两点左右),当时在看到手机报警的时候没有看清是系统没有响应了(熟睡中醒来看什么都迷糊)手机登录管理系统能ping的通XXX系统的网络,结合报警类型来看只是暂时的无响应,但当收到大量报警时候,发现是比较严重的问题了,着手处理问题的时间在早上7点半左右,这期间有充足的时间去处理。并且监控系统在问题发生之前就已经预警了,并没有引起重视!才造成后续更严重的问题!对于以后产生环境的报警应该加以重视,不能掉以轻心,将问题在萌芽状态就要及时发现并处理!

3. 对系统运行时状态的即时转存储对于解决问题有很大的帮助,所以应该考虑对系统状态做快照处理保存,以便查找问题出现的根本原因。

时间: 2024-10-29 19:09:41

平台XXXX系统无响应故障报告的相关文章

安装vb6 正在更新系统 无响应

新装的win10系统,安装vb6时,最后一直卡在“正在更新系统”,程序无响应,没办法,kill掉后,貌似不影响软件使用,但是安装vs6sp6B无法成功安装. 解决办法是: 不安装“数据访问”组件. 参考:http://bbs.pcbeta.com/viewthread-1123857-1-1.html

Salt之Cpu 100%无响应故障 Salt request timed out. The master is not responding

报错信息如下: Salt request timed out. The master is not responding. You may need to run your command with `--async` in order to bypass the congested event bus. With `--async`, the CLI tool will print the job id (jid) and exit immediately without listening

cloudstack下libvirtd服务无响应问题

在cloudstack4.5.2版本下,偶尔出现libvirtd服务无响应的情况,导致virsh命令无法使用,同时伴随cloudstack master丢失该slave主机连接的情况.最初怀疑是libvirtd服务或版本的问题,经过分析和排查最终确定是cloudstack-agent的问题.但是在官网上并没有找到类似的bug提交,该问题可能还存在于更高的版本,需要时间进一步从根本上分析.下面是该问题的处理过程,在此记录下,关注和使用cloudstack的朋友可以参考. 众所周知,cloudsta

听云平台发布:移动应用性能黑洞报告

1秒,2秒,3秒……据听云平台(www.tingyun.com)观测:在移动应用出现性能问题导致延时响应10秒后,有近5%的真实用户放弃使用该应用,并永久离开.而应用性能问题出现的频率与错误种类却绝对超乎你的想象,听云平台对5079个不同机型.1172种操作系统以及18家运营商进行整合分析得出“应用性能问题组合超1亿零700万种”,你永远不知道下一个导致用户流失的性能问题是什么.听云平台监测发现有十种应用性能问题最具危害,将之定义为应用性能黑洞Top10. 一.移动应用性能问题种类汇总分析 你知

Loadrunner11点击录制脚本无响应,IE页面弹不出——解决方案汇总

以前用Loadrunner的时候都没有遇到过这个问题,后来将服务器重装系统(win7)后,重新安装Loadrunner11,浏览器版本刚开始为IE11,后来降为IE8,IE访问部署在虚拟机里的平台能正常访问,但是用LR录制脚本时,点击录制脚本按钮之后,IE页面没有自动弹出,上网查找解决方案,本着死马当活马医的心态把查到的每一种方法都试了一下,最后IE页面弹出的那一瞬差点喊出来\(≧▽≦)/,现在把我的解决步骤作了总结. 录制环境:win7  64位操作系统  IE11(后卸载成IE8)   LR

关于VS2012 生成或调试时无响应的另一种情况

最近在做一个项目,差不多结尾了. 然后某天发现,生成和调试都会卡好一会(差不多要1分钟吧)才可以正常开始. 然后各种找问题,重装VS,重装系统,什么中文输入法,结果都一样. 最后只能怀疑是项目 问题了,后来想起来主窗口使用了一个自己写的用户控件,这个控件是容器来的,然后里面的控件全部变成空白了,当然之前是正常的,后来不知道为什么变成这样,然后我就自己手动将控件添加回去这个控件内 在Form1.Designer.cs文件内的 this.xxxx.Controls.Add(this.button3)

如何利用H5响应式建站系统做响应式网站

响应式网站成为了企业建站的首选目标,是什么因素导致的呢?我想更多是因为响应式网站的强大展示方式,多元素.多样化.多功能的形态,让网站"活了"起来,还有能够一个网站便能适应所有屏幕设备,不再需要为每一个不一样的设备制定一个特定版本的网站,省去了建站,优化.管理的麻烦.让你更好的统筹管理一个网站,便能在不同设备平台上得到相同的效果. 说起响应式网站,很多人会疑惑.那么好的类型网站,建设起来费用是不是要很高?建设时间是不是很长?错!错!错!其实如果在较早直接做一个响应式网站是要花费高额的开发

转 -android:程序无响应,你该如何定位问题?

如果MainThread长时间无响应,系统会提示“XXX无响应”,然后用户会关闭.那么,如何定位问题呢?无响应并不像Crash,它抓取不到异常日志,通常我们需要调试,才能定位问题.如何调试呢? 1.在Eclipse Devices窗口,选中app对应的包名,然后点击debug图标(绿色的小虫子),然后切换到Debug视图 2.切换视图之后,可以看到debug下,app的线程列表 3.对于main线程(第一个线程),选中,并将其挂起Suspend 4.然后我们就可以看到,Suspend之后,mai

无响应脚本警告 - 含义和如何解决

无响应脚本警告 - 含义和如何解决 Firefox 可能会弹出这样的提示:“警告:不响应的脚本”,并伴随着以下内容——“当前页面的某个脚本正忙,或者已停止响应.您可以立即停止该脚本,或者您可以继续以等待该脚本结束.”本文介绍了出现此提示的原因,以及可能的解决方案和折衷的办法. 这个错误提示意思是 Firefox 认为有脚本在运行中失去了控制,如果不处理会导致 Firefox 挂起.出问题的脚本可能是您当前访问的页面中的,也可能是您安装的扩展里的,甚至是 Firefox 本身的. 目录 Webro