Google專家:JavaScript是網(wǎng)站性能的致命克星
原創(chuàng)【51CTO快譯】如今,即使是一般網(wǎng)民也清楚設(shè)計網(wǎng)站時要使其運行速度較快該怎么做:減少發(fā)送給服務(wù)器的請求數(shù)量,縮小JPEG尺寸,及獲得像Akamai Technologies或Limelight Networks之類內(nèi)容分發(fā)網(wǎng)絡(luò)供應(yīng)商的服務(wù)。
問題是,據(jù)一位資深性能優(yōu)化工程師所稱,這些旨在***化Web服務(wù)器的方法都成效甚微。這位工程師叫做Steve Souders,現(xiàn)在Google任性能優(yōu)化總工程師,之前則在Yahoo任同樣一職。
“我們曾把Apache代碼拆散打亂來看Yahoo到底是怎么運行的,” Souders說道。做過詳細(xì)分析之后,Souders 吃驚地發(fā)現(xiàn):加載網(wǎng)頁時,只有10%到20%的時間是服務(wù)器所用的。
在周二舉辦于洛杉磯的微軟技術(shù)大會上,Souders發(fā)言說延遲大多是網(wǎng)頁瀏覽器里執(zhí)行代碼的結(jié)果。Souders說,在今天的多AJAX網(wǎng)頁上,問題代碼常常是JavaScript。他說,這不是因為Web網(wǎng)頁上JavaScript文件太大,而是由于Web瀏覽器對JavaScript的處理方式。
“因為要依次執(zhí)行所有JavaScript文件,***代Web瀏覽器就決定它們還是執(zhí)行一個的時候中止其它下載比較好?!庇谑蔷褪蛊渌a不能被執(zhí)行或處理。
這種做法在十年前可能合理,但今天電腦由雙核和四核CPU驅(qū)動的時代,情況就不同了。而且,延緩所造成的代價會很高。
Souders說,Google發(fā)現(xiàn)延時500毫秒網(wǎng)路流量就會減少20%,而Amazon也看到100毫秒的延緩就縮減了1%的銷售額。
更好的瀏覽器,有更好的性能
新版的和即將推出的Web 瀏覽器可以在執(zhí)行JavaScript 文件的同時下載這些文件。Souders說,上月發(fā)行的Internet Explorer 8有這種性能,將推出的Mozilla公司的Firefox 3.5和Google的Chrome 2.0也可以。51CTO編者注:這四大瀏覽器在上兩個月間都先后發(fā)布了重要更新,有關(guān)它們的性能已經(jīng)有相關(guān)人士做出了比對;而據(jù)國際報道,JavaScript成瀏覽器戰(zhàn)爭主戰(zhàn)場。
Souders說,不對JavaScript做詳細(xì)檢修,改善就不會很大。
為解決這個問題,Souders ***推薦了他制做的一種叫做Yslow的免費工具,Yslow分析并對Web網(wǎng)頁在***速度方面的設(shè)計情況劃出級別。起初為IE打造的Yslow 2.0是一個與Firebug網(wǎng)頁開發(fā)工具相結(jié)合的Firefox附加組件。它可以在Yahoo開發(fā)者網(wǎng)絡(luò)上下載到。
用戶可以用Yslow看到JavaScript開始被加載的狀況,并確定是否產(chǎn)生了瓶頸。然后用戶就可以分解開JavaScript文件,只在開始加載所需的JavaScript,將剩下的留到***,即文字和圖片出現(xiàn)之后。
這種方法幫助了一個Souders不愿透露名稱的Google網(wǎng)站首頁呈現(xiàn)速度提高了60%。
CSS也會影響網(wǎng)站性能。描述Web頁面外觀的CSS文件近年變得越來越繁復(fù)。
CSS文件成為問題,部分原因在于用戶往往會整天停留在某些如Web郵件門戶這樣的多CSS頁面上。Souders說,這些網(wǎng)站會整天不斷重新呈現(xiàn),產(chǎn)生由于每次對CSS文件表述過于詳細(xì)造成的延遲。
除JavaScript和CSS外,Yslow總共分析到22條準(zhǔn)則規(guī)范。在級別劃分方面Yslow不偏不倚。著名的網(wǎng)站如Apple.com, ESPN.com和Wikipedia被劃為C等,NYTimes.com, NBA.com和Computerworld.com都被歸為更糟糕的E等。
“看著這個,我覺得它就像是很嚴(yán)格地打成績的老師?!?Souders說。
像Google.com和微軟的Live.com這種頁面上內(nèi)容很少的搜索引擎在Yslow上屬于寥寥可數(shù)的A類。
除Yslow外,還有其它一些工具可用來檢測性能瓶頸問題。微軟提供有Visual Roundtrip Organizer,而AOL開發(fā)了一種叫做PageTest的立即開放源代碼工具。所有這些工具都通過一組準(zhǔn)則來評判Web網(wǎng)站性能,不過這些準(zhǔn)則都無法與Yslow的22條準(zhǔn)則規(guī)范相比。
原文:JavaScript - the Web site performance killer, Google guru says by Eric Lai
【編輯推薦】