
故障经验
cfyme
这个作者很懒,什么都没留下…
展开
-
利用 MySQL bin-log 恢复数据表
转载地址:http://www.cnblogs.com/edwardlost/archive/2011/07/13/2105598.html 如果误操作把数据库中一张极重要数据表 player 给“做掉了”,还算幸运的是该数据库每3个月会完整备份一次,最近一次的备份点为6月30日,再加上 bin-log 保留了30天的数据,可以根据这两份数据还原数据表的内容。方法看上去非常简单清晰,但是具体...原创 2015-04-30 00:13:27 · 113 阅读 · 0 评论 -
(转载)一次简单却致命的错误
线上服务器负载过高发生了报警,同事找我求救。我看到机器的负载都超过20了,查看java进程线程栈,找到了出问题的代码。下面是其代码片段,实际情况错误处理比这更坏。 1 package demo; 2 3 import java.io.BufferedReader; 4 import java.io.InputStream; 5 import java.io.InputStreamRead...原创 2015-05-21 14:02:38 · 122 阅读 · 0 评论 -
使用jstack诊断Java应用程序故障
最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的。经过详细的诊断和排查,终于发现了问题,是groovy在osgi中运行会出现classloader死锁,最后我们也解决了这个问题。 如果单靠通过查看代码是很难去发现这个问题,在这一次故障排查中,我也学到了怎样更好的使用jvm监控工具来进行诊断,主...原创 2015-05-21 14:34:58 · 186 阅读 · 0 评论 -
一个load过高的故障排查案例
现象: 6台4核机器load 全部在30以上,cpu使用us在90%, mem使用在90%,swap使用了100K,机器缓慢,前台浏览器页面打开缓慢,超时后白屏。措施: top, shift+h ,shift + p, 找出消耗cpu时间最多的线程ID,dump 堆栈信息,找到该线程,看在做什么,发现有多个线程在执行同一个方法。该方法内有一个循环,从一个node节点向上找其父节点,并不断将该节点...原创 2015-05-23 10:00:09 · 367 阅读 · 0 评论 -
故障之后
阿里、携程接力两天的服务故障,沸腾了整个码农界。 看热闹都不怕事儿大。光纤被挖,引得异地双活被嘲讽,逼着支付宝最后有人出来打保票,年底我们一定搞完异地双活;线上服务被删更是报复论、Bug论频频,还出现了异司双活的崇拜,携程只是道了个歉,但是各种开人、睡人的小道消息也没停下。 热闹之余,人民群众也没闲着,纷纷忆苦思甜,言必称曾经。 这个说,“曾经我把数据库truncate了,老大当时不给解决...原创 2015-06-01 07:53:04 · 169 阅读 · 0 评论 -
(转载)java问题排查常用linux命令
最近部门的测试环境总是半夜挂掉,有感于线上问题排查的种种困惑,所以打算彻底扫盲一下问题排查的一些关键命令,在真正火灾来临的时候,能够迅速的定位问题。 重用的linux命令总体分为几个大类,以前自己觉得,这些命令,在用的时候现查就行,但是经历了几次事情之后,我觉得对于这些工具在问题真正来临的会后需要灵活运用,灵活运用需要平时对这些就很熟悉,自己很多没有熟悉,所系需要恶补一下,在问题真正...原创 2015-06-09 12:48:39 · 137 阅读 · 0 评论 -
(转账)Tomcat7.0.26的连接数控制bug的问题排查
今天发现线上一台机器,监控一直在告警,一看是健康检查不通过,就上去查看了下,首先自己curl了下应用的url,果然是超时没有响应,那就开始按顺序排查了: 1、 load非常低,2、gc也正常,3、线程上也没死锁,4、日志一切正常。那是什么情况呢,不能忘记网络啊。果然,netstat命令一把,结果如下: TIME_WAIT 68 CLOSE_WAIT 194 ESTABLISHED 394...原创 2015-06-09 15:55:51 · 143 阅读 · 0 评论