久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Yslow---一款很實用的web性能測試插件

 icecity1306 2018-04-12

YSlow可以對網(wǎng)站的頁面進行分析,并告訴你為了提高網(wǎng)站性能,,如何基于某些規(guī)則而進行優(yōu)化,。 YSlow可以分析任何網(wǎng)站,并為每一個規(guī)則產(chǎn)生一個整體報告,,如果頁面可以進行優(yōu)化,,則YSlow會列出具體的修改意見。

YSlow的安裝:

1,、安裝 firebug插件,。針對不同的瀏覽器插件也是不同的,例如 針對chrome.插件名稱為:Firebug Lite for Google Chrome,。官網(wǎng)下載地址為:https://chrome.google.com/webstore/search/firebug%20%20for%20chrome

點擊添加至chrome ,,安裝后,Firebug Lite按鈕將會出現(xiàn)在谷歌瀏覽器地址欄右側(cè),,一個小蟲子圖標在哪里顯示著,。點擊即可啟用。

2,、安裝YSLOW插件,,官網(wǎng)下載地址為:http://developer.yahoo.com/yslow/

點擊安裝即可。安裝后,,YSlow按鈕會在 chrome的右上角顯示,。

YSlow的使用

點擊YSlow按鈕,啟動插件,,點擊Run Test 測試當(dāng)前頁面,。在新彈出的界面中按照重要性顯示了影響此頁面效率的元素,其中A類評分為最高,,F為最低,。

一般來說提高網(wǎng)頁效率依照下面14條準則。

第一條:Make Fewer HTTP Requests 盡可能的減少HTTPRequest請求數(shù),。

80%的用戶響應(yīng)時間都是浪費在前端,。而這些時間主要又是因為下載圖片、樣式表,、JavaScript腳本,、flash等文件造成的,。減少這些資源文件的Request請求數(shù)將是提高網(wǎng)頁顯示效率的重點。
這里好像有個矛盾,,就是如果我減少了很多的圖片,,樣式,腳本或者flash,,那么網(wǎng)頁豈不是光禿禿的,,那多難看呢?其實這是一個誤解,。我們只是說盡量的減少,,并沒有說完全不能使用。減少這些文件的Request請求數(shù),,當(dāng)然也有一些技巧和建議的:

1:用一個大圖片代替多個小圖片,。

這的確有點顛覆傳統(tǒng)的思維了。以前我們一直以為多個小圖片的下載速度之和會小于一個大圖片的下載速度,。但是現(xiàn)在利用httpwatch工具的對多個頁面進行分析后的結(jié)果表明事實并不是這樣。
第一張圖是一個大小為40528bytes337*191px的大圖片的分析結(jié)果,。
第二張圖是一個大小為13883bytes280*90px的小圖片的分析結(jié)果,。


一個大小為40528bytes337*191px的大圖片的分析結(jié)果(點擊圖片可以查看完整大圖片)

 


一個大小為13883bytes280*90px的小圖片的分析結(jié)果(點擊圖片可以查看完整大圖片)

 

 

 

第一張大圖片花費時間為:
Blocked13.034s
Send0.001s
Wait0.163s
Receive4.596s
TTFB0.164s
NetWork4.760s
功耗時:17.795s
真正用于傳輸大文件花費的時間為Reveive時間,即4.596s,,多數(shù)的時間是用來檢索緩存和確定鏈接是否有效的Blocked時間,,供花費13.034s,占總時間的73.2%,。

第二張小圖片花費時間為:
Blocked:16.274s
Send:小于0.001s
Wait0.117s
Receive0.397s
TTFB0.118s
NetWork0.516s
功耗時:16.790s
真正用于傳輸文件的花費時間是Reveive時間,,即0.397s,這的確要比剛才大文件的4.596s小很多,。但是他的Blocked時間為16.274s,,占總時間的97%

如果這些數(shù)據(jù)還不夠說服你的話,,讓我們看看下面這張圖,。這里列出了某個網(wǎng)頁中所有圖片中的花費時間示意圖。當(dāng)然,,里面的圖片有大有小,,規(guī)格不一。


大約80%以上的時間是用來檢索緩存和確定鏈接是否有效的Blocked時間,。

其中藏青色的為傳輸文件花費的Reveive時間,,而前面白色的為檢索緩存和確認鏈接是否有效的Blocked時間。鐵一樣的事實告訴我們:

§ 大文件和小文件下載所需時間的確是不同的,,差異的絕對值不大,。而且下載所需時間占總耗費時間比例很小,。

§ 大約80%以上的時間是用來檢索緩存和確定鏈接是否有效的Blocked時間。無論文件大小,,這個時間的花費大致是相同的,。而且所占總耗費時間的比例是極大的。

§ 一個100k的大圖片總耗費時間絕對大于425k的小圖片的總耗費時間,。而且主要差別就是4個小圖片的Blocked時間絕對大于1個大圖片的Blocked時間,。

所以如果可能還是使用大圖片來替代過多的瑣碎的小圖片吧。這也是為什么翻轉(zhuǎn)門的效率要高于圖片替換實現(xiàn)的滑動門的原因,。
但是,,請注意:也不能用太大的單張圖片,因為那樣會影響到用戶體驗,。例如個幾兆的背景圖片的使用絕對不是一個好主意,。

2:合并你的css文件。

我以前犯了一個錯誤,,你在看我《樣式表的組織與規(guī)劃》的系列文章中會知道,。當(dāng)時,我為了方便組織和規(guī)劃樣式表,,將用于不同用途的樣式表文件分離開來,,形成不同的css文件。然后在頁面中根據(jù)需要引用多個css文件,。根據(jù)盡可能的減少HTTPRequest請求數(shù)準則我們知道,,那樣的確是不合理的,因為那樣會產(chǎn)生更多的HTTPRequest請求數(shù),。從而降低網(wǎng)頁的效率,。所以,從提高網(wǎng)頁效率的角度上而言,,我們還是應(yīng)該將所有的css寫在同一個css文件中,。但是問題又來了。那么怎么來很好的組織和規(guī)劃樣式表呢,?這的確是個矛盾,。我現(xiàn)在的做法是采用兩套版本。編輯版和發(fā)布版,。編輯版仍然使用多個css文件以便于規(guī)劃和組織,。而等到發(fā)布的時候,再將多個css文件合并到一個文件中去,,從而達到減少HTTPRequest請求數(shù)的目的,。

3:合并你的javascript文件。

原因和處理方法同上,,不再贅言,。

第二條:Use a Content Delivery Network 使用CDN

這個看上去好像很深奧的樣子,,但是只要結(jié)合中國的網(wǎng)絡(luò)特色,這個便不難理解了,。北方服務(wù)器,、南方服務(wù)器電信服務(wù)器,、網(wǎng)通服務(wù)器”……這些詞聽起來是那么熟悉和壓抑,。如果,一個北京的電信用戶試圖從廣東的網(wǎng)通服務(wù)器上打開一個類似《壁紙合集》帖子的網(wǎng)頁時,,你就能很深刻的理解,。
鑒于這個不是我們開發(fā)人員力所能及的準則,所以這里也就不多言了,。


:這個圖也算有點中國特色了

第三條:Add an Expires Header 添加周期頭

這個也并非開發(fā)人員來控制,,而是網(wǎng)站服務(wù)器管理員的職責(zé)。所以,,如果作為開發(fā)人員的你不了解和明白也沒有關(guān)系,。還是把這個準則告訴公司的網(wǎng)站服務(wù)器管理員。

第四條:Gzip Components 啟用Gzip壓縮

這個大家應(yīng)該比較熟悉,。Gzip的思想就是把文件先在服務(wù)器端進行壓縮,,然后再傳輸。這對于體積較大的純文字型的文件有特效,。鑒于這也并非開發(fā)人員,而是網(wǎng)站服務(wù)器管理員的工作范疇,,這里就不詳細講解了,。如果你對此感興趣,可以資訊貴公司的網(wǎng)站服務(wù)器管理人員,。

第五條:Put CSS at the Top CSS樣式放在頁面的上方,。

無論是HTML還是XHTML還是CSS都是解釋型的語言,而非編譯型的,。所以CSS到上方的話,,那么瀏覽器解析結(jié)構(gòu)的時候,就已經(jīng)可以對頁面進行渲染,。這樣就不會出現(xiàn),,頁面結(jié)構(gòu)光禿禿的先出來,然后CSS渲染,,頁面又突然華麗起來,,這樣太具有戲劇性的頁面瀏覽體驗了。

第六條:Move Scripts to the Bottom 將腳本放在底部

原因同第五條一樣,。只是腳本一般是用來于用戶交互的,。所以如果頁面還沒有出來,,用戶連頁面都不知道什么樣子,那談交互簡直就是扯談,。所以,,腳本和CSS正好相反,腳本應(yīng)該放在頁面的底部,。

第七條:Avoid CSS Expressions 避免使用CSS中的Expressions


:CSS中的Expressions其實也是一種if判斷

首先有必要先說明一下CSS Expressions是什么一個東西,。其實它就像其它語言中的if……else……語句。這樣在CSS中就可以進行簡單的邏輯判斷了,。舉個簡單的例子——

<style>
input{background-color:expression((this.readOnly && this.readOnly==true)?"#0000ff":"#ff0000")}
</style>
<INPUT TYPE="text" NAME="">
<INPUT TYPE="text" NAME="" readonly="true">

這樣css就可以根結(jié)一些情況分別使用不同的樣式了,。如果你對這個感興趣可以到我的博客上閱讀相關(guān)的文章—— 《CSS中的expression系列文章》。但是CSSExpressions 的代價卻是極高的,。當(dāng)你的頁面需要根據(jù)判斷來渲染效果的元素很多的時候,,那么你的瀏覽器將長期處于假死狀態(tài),從而給用戶帶來極差的用戶體驗,。

第八條:Make JavaScript and CSS External javascriptcss獨立成外部文件

這一條好像和第一條有點矛盾,。的確,如果從HTTPrequest請求數(shù)來講的話,,這樣做的確是降低了效率,。但是之所以這么做,是因為另外一個重要的考慮因素——緩存,。因為外部的引用文件會被瀏覽器緩存,,所以如果javascriptcss體積較大的時候,我們將它們獨立成外部文件,。這樣當(dāng)用戶只要瀏覽一次以后,,這些體積較大的jscss文件就能被緩存起來,從而極高地提高用戶再次訪問時的效率,。

第九條:Reduce DNS Lookups 減少DNS查詢

DNS域名解析系統(tǒng),。大家都知道我們之所以能記住那么多的網(wǎng)址,是因為我們記住的都是單詞,,而非http://202.153.125.45這樣的東西,,而幫我們把那些單詞和202.153.125.45這樣的ip地址聯(lián)系起來的就是DNS。那這一條對我們到底有什么真正意義上的指導(dǎo)意義呢,?其實有兩條:
1:如果不是必須,,請不要把網(wǎng)站放到兩臺服務(wù)器上。
2:網(wǎng)頁中的圖片,、css文件,、js文件、flash文件等等,,不要太多的分散在不同的網(wǎng)絡(luò)空間中,。這就是為什么那種只發(fā)一個網(wǎng)站中的壁紙圖片的帖子,,要比壁紙圖片來源于不同網(wǎng)站的帖子顯示要快得多的原因。

第十條:Minify JavaScript and CSS 減少JavaScriptCSS文件的體積

這點很好理解,。在你的最終發(fā)布版本中把沒有必要的空行,、空格和注釋全部去掉。顯然手工去處理效率太低,,好在網(wǎng)上到處都是用于壓縮這些東西的工具,。壓縮JavaScript代碼體積的工具隨處可見,我便不再列舉了,,這里我只提供一個用于壓縮css代碼體積的在線工具網(wǎng)站——http://www./index.php/main/csscompressor
它提供了多種壓縮方式,,可以適應(yīng)多種要求。

第十一條:Avoid Redirects 避免跳轉(zhuǎn)

我只從網(wǎng)頁開發(fā)人員的角度來解讀此條,。那么我們可以解讀到什么東西呢,?2——
1此域名已過期,5秒鐘以后,,頁面將跳轉(zhuǎn)到http://www./index.html頁面,,這句話看起來的確很熟悉。但是,,我就奇怪了,,為什么不直接鏈接到那個頁面呢?
2:一些鏈接地址請更明確的寫出來,。例如:http://justinyoung.cnblogs.com/ 寫成http://justinyoung.cnblogs.com (注意最后面一個“/”符號),。的確,這兩個網(wǎng)址都能訪問到我的博客,,但是,,事實上,它們是有區(qū)別的,。http://justinyoung.cnblogs.com 的結(jié)果是個301響應(yīng),它會被重新指向http://justinyoung.cnblogs.com/ ,。但是顯然,,中間多浪費了一些時間。

第十二條 Remove Duplicate Scripts 移除重復(fù)的腳本

這個準則的道理很淺顯,,但是真正在工作中,,很多人卻因為項目時間緊太累了,、初期沒有規(guī)劃好”……這樣的理由搪塞過去了,。你,的確可以找很多的理由不去處理這些多余重復(fù)的腳本代碼,,如果你的網(wǎng)站不需要更高的效率和后期維護的話,。
也正是這點,,我提醒大家一些,一些javascript框架,、javascript包一定要慎用,。至少要問一下:用了這個js kit 到底給我們多少方便,提高了多少工作效率,。然后,,再與它因為多余的、重復(fù)的代碼帶來的負面效果比較一下,。

第十三條:Configure ETags 配置你的實體標簽

首先來講講什么是Etag吧,。EtagEntity tags )實體標簽。這個tag和你在網(wǎng)上經(jīng)??吹降臉撕炘颇欠Ntag有點區(qū)別,。這個Etag不是給用戶用的,而是給瀏覽器緩存用的,。Etag是服務(wù)器告訴瀏覽器緩存,,緩存中的內(nèi)容是否已經(jīng)發(fā)生變化的一種機制。通過Etag,,瀏覽器就可以知道現(xiàn)在的緩存中的內(nèi)容是不是最新的,,需不需要重新從服務(wù)器上重新下載。這和“Last-Modified”的概念有點類似,。很遺憾作為網(wǎng)頁開發(fā)人員對此無能為力,。他依然是網(wǎng)站服務(wù)器人員的工作范疇。如果,,你對此有興趣,,可以咨詢貴公司的網(wǎng)站服務(wù)器管理員。

第十四條:Make Ajax Cacheable 上面的準則也適用Ajax

現(xiàn)在的Ajax好像有點被神話了,,好像網(wǎng)頁只要Ajax了,,那么就不存在效率問題了。其實這是一種誤解,。拙劣的使用Ajax不會讓你的網(wǎng)頁效率更高,,反而會降低你的網(wǎng)頁效率。Ajax的確是個好東西,,但是請不要過分的神話它,。使用Ajax的時候也要考慮上面的那些準則。

 

點擊【Components】菜單

這個視圖是一個頁面所有部件的信息列表,。從中我們可以得知每個部件的各種詳細信息,。如:類型、URLExpires數(shù)據(jù),、狀態(tài),、大小、讀取時間,、ETag信息等等,。通過對這個列表的分析,我們就可以知道到底是什么東西最耗費我們的資源,,從而有針對性的進行優(yōu)化,。

點擊【Statistics】菜單

這個視圖會告訴你頁面的總體統(tǒng)計信息。包括頁面大小,、css樣式表大小,、腳本文件大小、總體圖片大小,、flash文件大小和css中用到的圖片文件大小,。還會告訴你,哪些東西被緩存了,,緩存了多少等等,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多