最近闹得沸沸扬扬的奥运网站800万访问瘫痪的事情,很多人都认为是性能测试未做好。可是我想说的是,如果你有幸成为这个项目的架构师,你能保证你的网站能承担这样的高压力访问吗。
第一个问题,你知道你的性能目标吗?这算不算问题?很多人都擅长时候诸葛亮。但是真要让你坐上决策的位置的时候,你往往会更茫然。
我知道有很多人在面对性能问题的时候,往往存在两种错误的想法:
如果我们第一对性能估算充分,第二拥有足够的能力。那么,你会知道你的性能目标吗?你会知道你该怎么办吗?因此我们有了第二个问题。
第二个问题,你能实现你的性能目标吗?再强的架构师也有他不擅长的地方,况且在中国,冠名以架构师的人,往往是因为在其位,做其事。
事实上,我敢打赌,全中国能够实现800万访问压力的网络架构的人很少。当年新浪网刚刚上线的时候,第一天就死了。后来换掉所有的服务器,全部重写服务器代码,才稳定了响应。那么你会怎么办?
要是我的话,很自然地要挑战这个问题。程序员往往是一个不服输的群体,绝对不会因为这么个问题,就会逃避的。可是我必须说,我很自闭!
这个时候,如果为了项目,就应该学习成功的经验,而不是自己摸索!这是一个意识问题。花一些钱,请新浪、百度等等国内知名网站架构师来讲解性能架构。最好的是购买他们提出的方案!相信拿着奥运的Title,让他们贡献一些,他们必然是趋之若骛的。
如果你真的把最终目标看得很重要。所谓政绩工程,才更应该关注这个问题。(因为这点,我比较不同意什么都说成是政绩工程的错误,事实上,一旦失败,政绩比0还要低!)最好邀请一位业绩有经验的架构师共同参与这个项目。
第三个问题,你会这么做吗?现在就是这个样子,很多人都认为有很多好的想法,但是正要做下去,就会遇到很多困难。我听到很多人都在总结经验教训的时候,后悔很多地方没有做。那么,当时你意识到这些问题的时候,你为什么没做到呢?我想这就是成功者和失败者的差别。不在于分析问题的智商,关键是解决问题的情商。
架构师不光解决的是技术问题,这点一定要知道。
基于上面的分析,我认为我能做成功的机率可能只是在75%以下。因为我不敢保证我能说服我的领导下决心花钱,特别是政府的领导。这不是我对政府官员的偏见,而是我真的不了解。所有不了解的都是风险。架构师的成功就是解决这些风险。
那么,如果是你呢?