挂这个字现在用的越来越广泛,微博上撕逼可以互相挂,游戏中的坑爹叫做挂机,人死了叫做挂了。之前热炒的三和大神自称挂逼,而作为一个产品经理,最恐怖的一个挂就是“报告老板!我们的系统又挂了......”
昨天,我们脆弱的系统又挂了。。。。。。在我的印象中,这已经是第四次大规模的挂了,小挂更是不计其数。我来仔细回忆一下历史上的各次挂。
第一次是在客户来我们公司,进行演示的时候。我们要向他演示产品功能,结果服务器挂了。之前我们只有两台破破烂烂的服务器,完全承受不住任何压力,轻轻松松就挂。影响非常不好,完全用不起来。
后来领导看我们可怜就加了服务器,加了服务器以后系统稍微稳定了一点,但是速度又成了痛点。之后为了提速,我们大张旗鼓的进行了一次优化,好不容易速度有了一些提升。还没高兴两天,万万没想到,速度太快,数据库受不了,又挂。连续三四天都在加班,重新搞数据库,每天搞到十一二点,好不容易才把数据迁移,解决了这个问题。
第三次我们数据库好不容易修好了,系统稍微稳定一点,速度也上来了,感觉应该上一些新功能了,结果新功能的计算速度太慢,接口超时,有挂。只好把这个功能临时下线,又搞了一个周末。
最近一次就是昨天,毫无理由的,没有进行任何更新,前天还正常运行的系统昨天突然挂掉。而且这次什么原因都没查出来,莫名其妙就挂了一整天,什么事都干不下去,极大地影响力工作进度。满脑子只剩绝望两个字。
挂了这么多次,每次都是非常痛苦的体验。一次一次的挂,感觉是越来越绝望。对整个项目都失去了信心,无论是产品经理还是程序员,都感到极其的无奈。那有没有办法解决呢?如何跳出一优化速度,稳定性就变差,然后为了解决稳定性问题,就要牺牲速度,然后一做新功能,与旧的系统又不兼容,又影响了系统的稳定性这样的恶性循环呢?我想恐怕只有唯一一个方法:进行全面的测试。
测试这个东西已经提了无数次了,但是测试人员始终没有到位。或许现在靠谱的测试很难招吧。测试有三个方面:冒烟测试、压力测试和回归测试。冒烟测试简单来说就是新功能不出错,我们进行的主要就是这种测试,测一下新功能就算通过了。压力测试就是对系统的稳定性进行测试,有了压力测试,第二次挂就不会出现。第二次挂的原因就是速度太快,数据库的读写量激增,网络用量居高不下,导致的数据库错误。如果有了压力测试,这种状况就可以提前得到避免。回归测试简单说就是做了新功能,对旧功能进行测试,保证旧功能的正常使用。第三次就是新功能拖垮了旧功能,如果能进行回归测试,这次的挂就可以避免。
总之吧,但愿系统挂掉的情况越来越少,不要再向老板报告我们的系统又挂了。希望能做好工作,一个稳定的系统是最重要的。
网友评论