2012年11月30日 星期五

Larry Page: 只有速度才能為產品帶來成功

Google Founder Larry Page 認為, 只有速度才能為產品帶來成功。

在 Google 裡,Larry Page 可是會數你的 Latency, 就算是一兩個毫秒 Larry Page 都會數的。 Larry Page 甚至可以用感覺來算毫秒的差異,他曾對員工說「你自己回去看,這簡直慢得相當誇張,這 Latency 至少有 600 毫秒以上」

速度可以帶來用途, 因為如果你的速度本來還算勉強,之後又陸續新增許多功能,你的產品可能就會變成兩倍慢,使得這個產品的可用性大大降低。

由此看來,筆者思考,若採用 Rails 框架開發,雖然初期網站也許可以快速建立(當然前提是你已經花了二至三個月來熟悉 Rails Framework 之下)。

但,Rails 本身注重的是開發速度,而不是太注重本身的效能和記憶體用量,一旦你的應用程式功能要繼續加上,就會使得這個勉強的速度越來越慢,Memory Footprint 越來越大,最後,只好以其他方式重新實作這個網站。 如一開始採用 Rails 的 Twitter 一開始即遇到效能瓶頸,用戶越多就越容易 Crash ,使得用戶頻頻抱怨,後來 Twitter 只好以 Java/Scala 重寫來改善效能。

如果一開始就慢,再怎麼靠 Cache 來調校也是勉強而已,而且 tune 完應該就是單機效能極限了,接下來只能以加機器解決問題 (增加硬體開銷),倘若你的軟體在設計時,效能已經相當優秀,那麼你的效能開發空間就相當大,加上快取、平行架構,肯定是可以為你的網站效能加分。

千萬不要小看 100 毫秒的影響,據 Google 內部統計資料指出,就算只增加了 100~400 毫秒不等的延遲時間,也會使得使用者更不想更新關鍵字搜尋,也會使得使用者瀏覽資料變慢。

而當 Picasa 增加了三倍的照片瀏覽速度,甚至造成當日使用量明顯增加 40% ,速度的確是以毫秒之差影響著你的網站使用量呀!

當然全部都速度論不是很正確,但產品做正確,卻因為速度太慢導致用戶頻頻抱怨,對使用經驗也是大打折扣。

筆者也很認同 Gugod 的說法:
跟語言無關,是心態問題。不把速度放在心上,做出來的東西自然速度不好。沒有意識到 scalability,結果自然只能單機無限上綱。一心只注重外掛擴充性,其他兩項當然就甭提了。
開發你的網站之前,再三考慮一下吧!