最近鬧得沸沸揚揚的奧運網站800萬訪問癱瘓的事情,很多人都認為是性能測試未做好。可是我想說的是,如果你有幸成為這個項目的架構師,你能保證你的網站能承擔這樣的高壓力訪問嗎。
第一個問題,你知道你的性能目標嗎?這算不算問題?很多人都擅長時候諸葛亮。但是真要讓你坐上決策的位置的時候,你往往會更茫然。
我知道有很多人在面對性能問題的時候,往往存在兩種錯誤的想法:
如果我們第一對性能估算充分,第二擁有足夠的能力。那麼,你會知道你的性能目標嗎?你會知道你該怎麼辦嗎?因此我們有了第二個問題。
第二個問題,你能實現你的性能目標嗎?再強的架構師也有他不擅長的地方,況且在中國,冠名以架構師的人,往往是因為在其位,做其事。
事實上,我敢打賭,全中國能夠實現800萬訪問壓力的網絡架構的人很少。當年新浪網剛剛上線的時候,第一天就死了。後來換掉所有的服務器,全部重寫服務器代碼,才穩定了響應。那麼你會怎麼辦?
要是我的話,很自然地要挑戰這個問題。程序員往往是一個不服輸的群體,絕對不會因為這麼個問題,就會逃避的。可是我必須說,我很自閉!
這個時候,如果為了項目,就應該學習成功的經驗,而不是自己摸索!這是一個意識問題。花一些錢,請新浪、百度等等國內知名網站架構師來講解性能架構。最好的是購買他們提出的方案!相信拿著奧運的Title,讓他們貢獻一些,他們必然是趨之若骛的。
如果你真的把最終目標看得很重要。所謂政績工程,才更應該關注這個問題。(因為這點,我比較不同意什麼都說成是政績工程的錯誤,事實上,一旦失敗,政績比0還要低!)最好邀請一位業績有經驗的架構師共同參與這個項目。
第三個問題,你會這麼做嗎?現在就是這個樣子,很多人都認為有很多好的想法,但是正要做下去,就會遇到很多困難。我聽到很多人都在總結經驗教訓的時候,後悔很多地方沒有做。那麼,當時你意識到這些問題的時候,你為什麼沒做到呢?我想這就是成功者和失敗者的差別。不在於分析問題的智商,關鍵是解決問題的情商。
架構師不光解決的是技術問題,這點一定要知道。
基於上面的分析,我認為我能做成功的機率可能只是在75%以下。因為我不敢保證我能說服我的領導下決心花錢,特別是政府的領導。這不是我對政府官員的偏見,而是我真的不了解。所有不了解的都是風險。架構師的成功就是解決這些風險。
那麼,如果是你呢?