新聞中心
【自7月7日外電頭條】Firefox 3.5已經(jīng)到來,.com之前曾報道FireFox 3.5將比3.0版快兩倍,據(jù)Mozilla基金會說,它的主要優(yōu)點是速度飛快。新版本的Firefox開源瀏覽器第一次全面使用了TraceMonkey引擎為JavaScript加速,而這以前僅在3.1的測試版中出現(xiàn)過。

這一行動是Mozilla在近來的瀏覽器大戰(zhàn)中使出的最新殺手锏,這同時也表明了瀏覽器廠商們已經(jīng)開始轉(zhuǎn)而注重Web應用的性能改善。.com之前曾報道過Google專家的觀點,JavaScript是網(wǎng)站性能的致命克星;根據(jù)Google研究小組的報告,互聯(lián)網(wǎng)上,速度最重要!Google已經(jīng)在去年給Chrome安裝了高性能的JavaScript引擎,而隨后Opera和蘋果也相繼宣布為各自的瀏覽器推出新的JavaScript引擎,微軟也在費力的對IE8進行著優(yōu)化。
但瀏覽器的單方面表現(xiàn)并不能代表一切。上周流行天王邁克爾杰克遜的突然死訊讓幾乎所有的主要新聞網(wǎng)站的訪客們感受到了延遲,但問題既不是出在瀏覽器,也不是出在超負荷的服務器身上。根據(jù)網(wǎng)絡監(jiān)控機構(gòu)Keynote Systems的分析,在許多情況下,網(wǎng)站速度減慢的主要原因是廣告網(wǎng)絡和第三方內(nèi)容提供商的問題,他們自身的網(wǎng)絡無法處理突然增加的流量。
這一事件正巧顯示了Web開發(fā)者們越來越關(guān)注的一個問題。如今的Web應用通常會整合來自多個來源的內(nèi)容、數(shù)據(jù)存儲和服務,而且對云計算越來越大的興趣只會加速這種趨勢??紤]到這些交錯在一起的因素,Web開發(fā)者可以真的保證快速敏感的用戶體驗嗎?或者說隨著Web應用的元素越來越錯綜復雜,我們會不會逐漸對應用的性能變得不在意,把問題扔給互聯(lián)網(wǎng)來解決?
Web開發(fā)者受到的云困擾
制作網(wǎng)頁很容易,但建立高效的Web應用卻難得多。對開發(fā)者來說,開發(fā)桌面端軟件是更好掌控的工作。你可以通過消滅內(nèi)存泄漏和提高磁盤訪問效率來優(yōu)化它的性能。但這一切都不適用于Web應用,這時開發(fā)者必須依靠瀏覽器來處理本地資源的效率。
在Web應用中,開發(fā)者面臨著變幻莫測的網(wǎng)絡情況。如果用戶訪問的網(wǎng)頁需要從第三方供應商那里讀取圖像,那么總體的用戶體驗就要取決于用戶的瀏覽器、用戶的數(shù)據(jù)連接方式、Web服務器的輸出管道、Web應用軟件、網(wǎng)絡服務器和圖片提供商之間的管道,還有圖像提供商的服務器軟件等等。一位Web應用開發(fā)者通常只負責優(yōu)化這其中的一個方面。
這是因為在這樣的基于云計算的分布式模式中,他們認為理所當然會有別的開發(fā)者去考慮該他負責的問題。但是你怎么能肯定第三方圖像供應商對安全性足夠認真?怎么能確保他們的系統(tǒng)設置了足夠的冗余,有沒有定期備份,這樣才不會在出現(xiàn)意外時無計可施?
更為迫切的問題是外部服務是以什么方式與網(wǎng)頁進行整合。它們大多依賴于外部JavaScript或iframe,或兩者兼有。這兩種技術(shù)都會擁堵網(wǎng)頁的onLoad事件,這是造成用戶瀏覽體驗緩慢的一個主要因素。因為這個瓶頸是在JavaScript代碼執(zhí)行前發(fā)生的,所以瀏覽器JavaScript引擎速度的快慢解決不了太大問題。如果網(wǎng)絡本身的負擔就已經(jīng)過重,那么就不僅是第三方內(nèi)容的問題了,你的整個應用都會受到影響。
更多關(guān)于云開發(fā)的報道請參考.com的策劃專題《SaaS時代的軟件開發(fā)》和之前的報道《云服務顛覆開發(fā)傳統(tǒng)觀念》。
復雜性的提高導致Web應用風險增加
Web社區(qū)正在努力尋找減輕這些問題的方法。例如,新一代的瀏覽器會在等待JavaScript執(zhí)行的同時裝載其他內(nèi)容的元素,開發(fā)者們找出各種聰明的技巧來消除腳本瓶頸問題。但是,這些單方面的優(yōu)化無法從根本上解決問題。
“考慮一下這個問題,”Google傳播者Steve Souter說,他也是“高性能網(wǎng)站”和“更快的網(wǎng)站”兩本書的作者,“我們有時會把一大塊的HTML,可能還包括CSS、JavaScript和Flash,一起塞到另一個網(wǎng)頁里……因此這造成網(wǎng)頁性能大幅度降低也并不奇怪,在某些情況下甚至還會導致整個網(wǎng)站癱瘓。”
部分原因在于這樣的整合內(nèi)容往往缺乏協(xié)調(diào)的管理和監(jiān)督。“將第三方內(nèi)容整合到網(wǎng)頁中本該是一個復雜的項目,在同一家公司里需要兩個團隊協(xié)作完成,”Souter說?!氨热鐝V告,兩個團隊需要負責兩個不同的公司。而事實上,設計廣告的開發(fā)者可能永遠不會與主網(wǎng)站的建設團隊進行溝通?!?br />但是這并不是說每個人都要去分擔網(wǎng)站變慢的責任。請放心,在網(wǎng)站變慢時,所有的訪問者都會責怪網(wǎng)站自身,而沒有人會去找外部內(nèi)容提供商的麻煩。
網(wǎng)絡一步步走向成熟的應用平臺
就目前而言,Web應用的開發(fā)者和架構(gòu)師們應該多去了解一下那些潛在的瓶頸問題,還有那些分布式以及類似云計算的Web應用的自身缺陷。多關(guān)注一些相關(guān)的書籍和消息,比如.com上月曾報道的Google面向Web開發(fā)者推出了一個網(wǎng)站,專門研究如何提升Web性能,怎樣提升JavaScript的性能;并向Web開發(fā)者發(fā)布了網(wǎng)頁加速工具Page Speed。
然而從長遠來看,Web服務提供者和消費者們需要共同努力,為今后基于云的互聯(lián)網(wǎng)應用制定出標準的做法?;訌V告局(The Interactive Advertising Bureau)為了縮短載入時間已經(jīng)成立了一個工作組,為廣告提供商們提供最佳實踐。這是一個好的開始,但顯然還有很多工作要做。
Web社區(qū)的工作也至關(guān)重要,需要提高不僅僅是瀏覽器性能,還有Web開發(fā)團隊跨機構(gòu)合作的能力。隨著網(wǎng)站和服務變得更加互聯(lián),我們必須拿出新的辦法來交流與合作,使分布式的跨網(wǎng)站開發(fā)工作可以進行的更加流暢。只有這樣,基于云的新一代網(wǎng)絡才會蓬勃發(fā)展,成長為可靠的、一流的應用開發(fā)平臺。
【推薦閱讀】
- Google專家:JavaScript是網(wǎng)站性能的致命克星
- Google面向開發(fā)者推出網(wǎng)頁加速工具Page Speed
- 緩存設計詳解:低成本的高性能Web應用解決方案
- 高性能Web應用的六個好習慣
- 視頻專題:大型網(wǎng)站架構(gòu)技術(shù)專家談
【.com譯稿,非經(jīng)授權(quán)請勿轉(zhuǎn)載。合作站點轉(zhuǎn)載請注明原文譯者和出處為.com,且不得修改原文內(nèi)容。】
原文:For Web apps, performance remains an uphill battle 作者:Neil McAllister
網(wǎng)站題目:Web性能之戰(zhàn)打響開發(fā)者面臨復雜度挑戰(zhàn)
標題來源:http://m.fisionsoft.com.cn/article/coijhgh.html


咨詢
建站咨詢
