您的位置:首页 > 其它

发生在眼前的故事:不做好最坏的打算,往往事情就会去到最坏的地步(终极篇)

2008-10-15 16:05 309 查看
续《 发生在眼前的故事:不做好最坏的打算,往往事情就会去到最坏的地步(五)

以下事情发生在9月23日的1:30~3:30PM

午餐回来后,重新调整了人员的分工,除了项目经理A负责进行电话和QQ服务外,其他的三位同事和dy共四位分别对早上辨识出来的10个可疑问题进行跟踪。

不到2个小时,我们从分工跟进就已经初见成效,头三个怀疑对象中,有两个非常有价值的问题,

最耗时的处理是Excel文件导入处理,此功能属于系统上一期的功能,由于本期功能没有做任何变动,按说应该不是被怀疑对象,但是从日志分析可以看到,此功能每天被使用到的次数不少,但是处理耗时巨大;通过程序的分析,发现异步的处理方式实现不算复杂,结合ajax的方式也不会太绕弯。但是在测试环境上,就发现每一次使用此功能,竟然会阻塞住其他用户的请求,在生产系统上经测试现象同样存在!这是一个非常有意义的线索,下一步应该进一步根据分析具体的原因;

最经常被使用到的待处理事项功能,此功能用户一登录就是使用,而且还会频繁刷新,本期功能也没有做任何变动,但是从日志上看,使用次数和耗时同样可观;通过在生产系统的空闲时刻的进行访问,竟然是16个CPU和32G的内容都需要执行2.5秒,在感观上感觉明显;结合Weblogic工作原理,缺省启动时有8个服务线程计算,此时只有有8个用户一并登录,工作线程数非扩充不可,同时由于耗时也会影响Connection Pooling的工作效率;

前面三个怀疑对象,已经有两个小有成果,由于是一期的功能,本期没有改动,因此跟踪工作马上进行下一步的调整:

ydy跟进Excel导入问题,初生牛犊不怕虎,他没有负担,没有做过一期,可能能发现问题;

项目组内参加一期的lq和未参加过一期的wxy两个人则对待处理事项功能的进一步跟进;

原先协助发现Excel导入问题的cdw同事则调整加快对后续怀疑对象的进一步分析;

小插曲,告知所有参加过一期的同事“Excel导入导致阻塞其他用户的请求”,为了让他们深刻感受到这个问题,对于每一个提出“不大可能吧,以前好好的”同事,我就在生产系统上演示一次,让他们感受最终用户的体验!为了让同事知道这个故障其实很严重,我只是使用了100行记录的Excel文件,就足以让最终用户的任何请求等待10~20秒,通过这些证明,结合理论的推论是可以大概知道为何服务器类似“死机”时,从Thread Dump上看到的是等待getConnection!

在下午的检查期间,还出现了类似死机,是我们给一期的同事演示没有多久就发生,此时由于同事在旁边监控所以发现及时恢复,项目经理A这次也能安装规范知会业主和最终用户,并且进行相应的解释。

以下事情发生在9月23日的4:30~6:00PM

经过了1个小时,检查工作前面两个被确认的怀疑对象解决情况,结果竟然是还没有解决,因此赶快再次寻找资源协助,通过其他团队找来了进行SQL优化经验的同事dzm。很快,他先是协助cdw将另外一个优化语句提升了4倍性能,接着他有协助负责待处理功能优化的同事,将性能从2.5秒优化到0.25秒,整整优化了10倍。

Excel导入问题陷入僵局,ydy暂时没有发现任何可能原因,因此通过电话协调参与一期的同事lz负责Excel导入功能的跟进,由于是使用开源的软件,特别感慨“用java开源组件进行开发而毫不存疑是很不明智的,而且是有危险性!”,在使用软件前没有进行充分测试,“出来混的始终要还”!这是最坏的时刻,也是最好的时刻,同事告知前两天在另一个项目也发现雷同问题,现在还没有解决,但是有一些思路可以尝试,不至于断了线索。

接近6点期间,系统又出现一次类似“死机”情况,这次是最终用户在QQ上汇报,这次没有被我们监控发现,是因为所有的兵力都投放在问题跟踪分析上导致的。

以下事情发生在9月23日的7:30~12:00PM

晚餐回来后,需要跟进的事情第一件就是结合情况进行安排故障部署计划和公告。(为什么需要这样做,可以参考以往的博文)通过下午的跟踪排查,我们的10个疑点,有4个被排除,有6个列入今天的修复计划,和团队的同事沟通协商安排出时间后,通过QQ和电话知会业主。

在修复Bug,进行Hotfix的时候,还出现过一些小插曲,譬如团队同事对版本控制的疑问(可以参考博文,如何对生产系统进行Hotfix),发现项目经理A理解是一回事做是一回事,真是“实践是检验真理的唯一标准”!

依然还要做好最坏的打算

团队最后顺利安装计划完成了Hotfix,但是事情还没有真正验证完成,读者你知道吗?虽然已经凌晨零点,但是我们还要在收队前做好分两班的工作计划,具体安排如下:

工作很辛苦,但是有一班还得继续检查。包括我在内,明天早上8点之前到底业主办公环境,继续跟进,做好最坏打算,确保今天的Hotfix有效,计划明天下午2点撤退;

负责修整的一班,这班同事明天可以休息到11点才上班,和前面的一班换防!

(这个故事最终完毕,我们也在一天的恶战中取得成功!学习下围棋的高手们,比赛完毕后还要进行复盘,这样才能更加加深理解,其实期间还有不少小故事可以独立成文,待以后再发布,真是细节决定成败。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐