databas如何避免重复故障

自己原文公众号: https://mp.weixin.qq.com/s/lQp93cYHyqCVQSG6GPJ8yw

我个人以为首先要收集分析以前的问题。今天在远程参会的时候看到这个,浙江移动做的真好。

找出前车之鉴,这个说的容易做起来难。我工作经历见过太多了,今天这个问题,明天还出。因为不知道为什么?所以下次还是出。或者说判断失误,以为是这个方向的问题,后来发现其实是另外方向的问题。或者就解决了这个,这一类问题还有很多。就是缺乏举一反三。这么泛泛而谈没有重点。

     我们今天就聚焦一下说第一种,判断问题方向(仅仅谈数据库和中间件、网络和硬件我们不谈)。如果说CPU高,那么大概率是SQL写的不好。如果说IO高,大概率是SQL写的不好。如果说连接数高,大概率是SQL写的不好。好了说完了。简单。

    如果说OOM了,大概率是SQL写的不好,取了太多数据。好了说完了。

    以上说的大概率也不是100%,但是99%也差不多。

    那么看来就是比较聚焦了,SQL写的不好,产生了大部分的数据库和中间件问题。

   前几天朋友圈转了一段话:

   数据库中去优化SQL,这种方法总是有效的,甚至看上去是药到病除的。确实,对于数据库的问题来说,优化SQL几乎可以包治百病。这是因为应用或者对于数据库而言的SQL的不优化,会导致系统负载的增加。比如说我们的身体,在平地上快走小跑都没有任何问题,但是到了高原上,一个壮汉爬个三层楼就喘不上气了。数据库和其他IT基础设施也是如此,当负载低的时候,很多问题都被掩盖了,不会出问题,而负载高了,那么很多病症就明显了,我们也就能看到各种问题了。

      我想起了一个故事:

      据说美国华盛顿广场有名的杰弗逊纪念大厦,由于年深日久,墙面曾出现了裂纹。为了保护好这幢大厦,有关专家专门进行了研讨。 

最初大家认为损害建筑物表面的元凶是侵蚀墙体的酸雨。 

专家们 经过进一步研究, 却发现对墙体造成侵蚀的最直接的原因是每天冲洗 墙壁时水中所含的清洁剂对建筑物有酸蚀作用。 

为什么要冲洗墙壁呢?是因为墙壁上每天都有大量的鸟粪。 

为什么有那么多的鸟粪呢?因为大厦周围聚集了很多燕子。 

为什么会有那么多的燕子呢?因为墙上有很多燕子爱吃的蜘蛛。 

为什么会有那么多的蜘蛛呢?因为墙上有蜘蛛喜欢吃的飞虫。 

为什么会有那么多的飞虫呢?因为墙上的尘埃最适宜飞虫繁殖。 

为什么墙上的尘埃最适宜飞虫繁殖呢?因为墙上的窗户经常开 着,阳光充足 …… 

由此发现解决这个问题的办法其实很简单, 只要经常拉上窗帘就行了。 

    那我们的窗帘拉上了吗?


请使用浏览器的分享功能分享到微信等