几次印象深刻的网上事故

  在华为的时候自己带过几年的团队,团队的规模从一开始10多个人,到后来40多个人,负责的产品也从一个到多个产品,我自己的性格特点只能做一个小主管,做不了大领导,因为在遇到事情的时候,我总希望自己能够冲在最前面,也就是当当班长之类吧,所以我自己处理过很多次的网上事故的处理,当时和我一起处理事故的同学有的换了部门,有的离职,但是当时一幕幕经历就像刚发生过,在这里列举2~3个吧。

  华为对于网上事故非常的重视,基本上如果个人的话导致网上事故的话,一年基本就白干了,二年内很多调薪、股票这些基本和你无关了,所以任何时候只要出现网上问题大家的精神都是高度紧张,而像我这样一个人负责几个产品,每个产品在网上都有很多局点的小主管,手机24小时开机,经常怀疑手机响了自己没听见。

  我来华为第1次三级事故大概是在2011年左右,有一天晚上大概10点左右,有一个海外M国打来的电话说P系统手机首页有时会打不开,这时M国正好是下午,正处在业务的高峰期。我让一线的维护同学先用三板斧的重启,发现刚重启的好的几分钟是好的,但是一会就不行了。我联系了此项目的开发&PM W同学,我和W同学约好了一起找一个网吧。为什么会去网吧呢?因为在那个时候办公网络通过一层一层跳板机访问国外的网络不仅不方便,而且非常的慢,反而外面的网吧访问这些地方速度更快。到了网吧以后,很快的就登到远程的服务器,发现这次遇到的问题和我们以前的问题都不一样,以往最多的就是CPU过高、内存耗尽或者数据库连接过多,机器一旦重启以后几分钟就像整个世界突然变慢一样,为什么会突然变慢?这时已经到了晚上12点左右,从报问题已经近2个小时了,我们2个人在烟雾缭绕的网吧里已经江郎才尽。我的手机因为一直开着免提电用完了,W同学的手机接着上,电话会议里面研发、一线行销、运维、机关领导、RL等,这时我最担心的事情还是发生了,一线报事故了,报完事故以后,我的手机刚充完电,我的领导的领导给我打了几个电话,要求务必尽快解决问题。网吧里的人越来越少,而我和W同学仍然毫无头绪,电话会议上找了网络、存储、操作系统的专家,但是因为别人不了解我们的业务,也因为不是他的产品,往往给几句建议就下了,没有别人可以帮你,只有你自己。

  于是我和W同学又重新整理思路,分析每一个异常的点,终于在凌晨1点左右,发现一个日志打印的量超过正常,我们前面其实找到了磁盘IO Wait明显不正常,但是没有找到为什么不正常?总想着是不是业务量太大,磁盘IO到了瓶颈了,而没有想到有一个日志文件打印的量太大。于是我们在网上找了一些命令,发现大部分的IO等待都是写这个日志导致的,为什么这样日志的量这么大呢?原来是跟踪日志的开关被调成了debug级别,先调回到error级别再找原因,终于在近凌晨2点左右将血止住了。接下来我们又花了10个小时左右分析为什么会导致这个问题,第二天中午12点左右我们离开了网吧,W同学回去休息,而我要回公司开始接受挨批,因为在我的产品出事故了。原因的分析我们花了10个小时,是因为要搞清楚什么开关会被调成debug,我们查询了最近所有发布的版本都出厂的开关都是error,怎么也不可能,直到早上6点多,一个一线的运维同学告诉我,他昨天做了一个操作,而这个操作正是无意中打这个开关打开,而他打开的目的是想收集一个数据,这个数据收集是因为一个外包的同学告诉他这是最快的方式。至此整个事故产生的链路很清晰了:

  一线运维的A同学接到用户的投诉说某号码无法访问  --> A同学想自己解决,于是找了开发此版本的合作方的S同学 --> S同学指导其打开跟踪日志根据号码查询 --> A同学在线上业务高峰期间打开了此开关且忘记关掉此开关 --> 业务高峰期间跟踪日志量太大,阻塞了写日志的线程,而写日志是同步操作 --> 所有http请求的线程阻塞在IO操作上 --> 所有线程都耗尽业务中断。

  之后一个月的时间我的时间都在回溯这个事故,暂且不分析为运维同学人为的错误,至少2点我们是没有做好的。

  1、防呆设计: 并不是说运维的同学自己呆,而是避免使用的人犯错误。我们自己把日志调级别的功能放在控制台上,跟踪日志一打开全打开。

  2、可定位能力差: 运维同学本来想自己定位解决,但是没有人告诉他怎么定位,开发同学告诉他怎么看,但是开发同学并不知道他会在生产环境定位。当系统中某个功能失效的时候,除了开发人员以外,基本没有人能定位。

  从华为来到阿里以后,发现如果再重新设计这块的话,又会有不同的思路。对于可定位能力,我们可以全息日志采集,将每个用户在整个系统的走向异步的抓取下来,再同步到专门的日志分析系统,在这个系统中可以根据用户号码、订单号进行过滤分析。其次是防呆设计,这个在实际中很难完全避免,但是还是可以做一些工作,比如将开关和配置分级别,一些开关定义为P1,一些不重要的开关定义为P3,重要的开关只有个别人才能打开等等。

  第二起事故大概是在2012年,海外某国反馈登录系统时会非常的慢,同样是在深夜去了网吧,这次算是比较顺利,很快的发现是某个慢SQL拖慢了, 这个SQL类似于select count(0) from user,经过分析发现是由于Oracle判断这个表是不是大表,如果判断大表,有一堆逻辑,感兴趣的同学可以自行在网上搜索。巧的是这张表大概几百万的数据,正好在Oracle判断大表的条件的外点,如果不是大表,Oracle会全表扫描,这一全表扫描速度就下降很厉害,加上我们的业务访问量很大,表现出来就是新用户登录很慢。

当时想着先解决问题,如果按华为的流程我们肯定是违规的,但是在巨大的压力下,解决掉问题是首要的。我们分析发现这个功能其实是判断当前已经注册多少用户,但是实现的方案很傻,每次登录的时候都去select count(0)。想到快速解决的方法,就是把这个sql干掉,于是我们不远万里把这个jar拖到本地,把这个sql改掉,再让一线运维的同学上传上去,重启解决。这个路子很野,但是当你面临棘手问题时,能解决问题就是很办法。

  后面还有很多,后续我会慢慢的说来...

  

时间: 2024-10-18 06:05:00

几次印象深刻的网上事故的相关文章

那些我印象深刻的建议和教诲

编者按:本文作者余晟,文章首法于其微信公众号“余晟以为”(微信号:yurii-says),授权 36 氪发布.余晟是上回引发热烈讨论的<你的团队里有几条鲶鱼>作者,这次又有新的东西想跟你分享. 人的一生,当然有很多的时间去自己摸索和探究,做出自己的选择:其他人的教诲,很多时候并不会干涉选择,反而会让人少走弯路,更快捷抵达自己的目标.下面,我列了自己印象深刻的教诲(或者说 “建议”),既是对各位的感谢,也希望通过分享让更多人受益. [技术是你的安身立命之本] 这是大学时候中文系的王老师对我说的.

让人印象深刻的回答

知乎上那些简短却让人印象深刻的回答 你认为怎样的人生很酷(有趣)? —always stay out of your comfort zone. [为什么部分人会产生「聪明智慧的姑娘都被憨憨的小伙儿搞定了」的印象?] 严肃地说,我觉得,要么姑娘只是看起来聪明,要么小伙儿只是看起来憨··· [怎么看待励志的书籍?] 看再多,那都是别人的人生. [为什么很多程序员.Geek 都喜欢熬夜,而且在后半夜工作效率异常高?] 一个姑娘问我,搞学术的为什么都睡得那么晚,难道只有到晚上才有灵感?不是,姑娘,搞学

9个让人印象深刻的网站 JS 视觉效果

网页设计已经提升到一个整体新的水平,Flash 渐渐失去了地位,逐渐被 HTML/JavaScript/CSS 所超越,而且一样可以实现出 Flash 复杂的特效. 本文介绍 8 个让人印象深刻的网站视觉效果,这些效果都是采用纯 JavaScript 实现的. Viens La 该网站通过你的滚动来显示微妙的动画. Joint London 超简约的设计与独特的导航系统. Lena Sanz 一个视觉丰富的摄影网站,有一个巨大的响应滑块. Skull Candy 视差的不同类型,根据预定义的路径

【转】令人印象深刻的廣告詞

令人印象深刻的廣告詞覺得蠻有趣ㄉ-把它貼上來跟大家分享- 這裡有一百多個- 有些廣告詞也蠻有年代- 哈哈- 全家 = 全家就是你家!麥當勞 = 麥當勞都是為你!7-11 = 有seven - eleven真好!全國電子 = 全國電子就感心耶!motorola = 哈囉!moto威士比 = 啊~~~福氣啦!屈臣氏 = 我發誓,我們最便宜!最佳女主角 = 最佳女主角換你做做看 /我不認識你,但是我謝謝你!DHC = C唄C唄,DHC!中興米 = 有點黏又不會太黏! 崔巢奶粉 = 成長只有一次!克寧奶

三位印象深刻的老师与往事

三位印象深刻的老师与往事 ① 小学的 A 老师 A 老师是思想品德老师,平常十分随和. 大概是因为课程内容比较少,经常在课堂上聊一些高深 的东西, 给我们这些小屁孩留下一个"上知天文,下知地理,文经武律,无所不通 " 的奇妙印象. 口头禅都是什么 你们以后就懂了. 之类的... 然而,这样的 A 老师却让我非常惧怕. 原因在于,作为一个小学生,我第一次知道了什么是特殊待遇: 上课时一旦和同桌或者前后私聊,立刻就被点名批判一番: 课堂上一旦有问题没人举手回答,必定让我起来谈笑风生: 严抓

三位让我印象深刻的老师

三位让我印象深刻的老师 虽然这是作业..但是...我想起了以前的很多事情....有点不知道怎么从一大堆东西里写点什么了..........写印象最深的三个吧. 走了很远的路,不应该忘记为了什么而出发. L老师 小学时的课外语文老师. 他经常带我们出去看附近的名胜古迹,自己写了一本很厚的教材,背诵翻译文言文,写议论文. 受他的影响,我的语文基础很好,初中高中语文课基本在划水+装逼+睡觉,高考语文110分这样. 他家里的花开了几次了 Z老师 ---------- 初中的历史老师,X班的班主任,心态开

三位印象深刻的老师

小学班主任 -小学的班主任....回忆起来还是很怕怕滴,因为她真的很严厉. -我一直都小心翼翼,可是还是被她抓到过:因为班级活动迟到了两三分钟,被她当着全班的面批评.具体过程不说,到现在还是有一点阴影. -不过想想也算一件好事,这让我能够比较严格地要求自己. -小学六年班主任都是她,所以感情很深厚.她温柔起来也让我很想亲近她:会给我们讲故事,天气变化会提醒我们注意增减衣物. -又爱又怕她让我对她印象深刻. 初中班主任 -初中班主任也带了我一整个初中 -她很爱教育我们,给我们讲道理,看到好文章会都

印象深刻的三位老师

花开花落,岁月如梭.不知不觉,已经大学了,回首眺望,总有那么几个人让你印象深刻,难以忘怀.其中,在读书的时候让我有深刻印象或对我有深刻影响就有三个. 第一个,是在二年级的时候,我现在也只记得她姓黄老师了,很多事情我也忘记了,只知道一点,那就是在考试后的讲评了,她曾立了一个规定,那就是如果你的考试成绩满分,那么,在她讲评的那一节课你就可以自己跑出来玩了,那个时候,我还是很贪玩的,而且上课自己跑出来玩而其他人在听更是激动,为此,为了数学考满分,我还是会很认真去学数学的,也是那个时候,培养了我对数学的

几个让我印象深刻的面试题(二)

前言 原文地址&&我的博客知乎&&知乎专栏简书河南前端交流群官网 上次写了一篇几个让我印象深刻的面试题(一)没看过的同学可以去看哦.这次文章的题目来源:这里有超过20家的前端面试题,你确定不点进来看看?.如果上面的问题在我这篇文章里没有提到的话,那就说明有些问题可以很容易查得到或者很简单或者我能力有限不能解答出来的.如果有的问题你不会而且我又没有提的那就认为就是我能力有限不能解答出来吧.嘿嘿嘿.开个玩笑,不过可以在下面留言哦! 正文 还是老规矩先给题目,然后在看我的答案,有