Windows Server自帶的互聯(lián)網(wǎng)信息服務(wù)器(Internet Information Server,IIS)是架設(shè)網(wǎng)站服務(wù)器的常用工具,,它是一個(gè)既簡(jiǎn)單而又麻煩的東西,,新手都可以使用IIS架設(shè)一個(gè)像模像樣的Web站點(diǎn)來,但配置,、優(yōu)化IIS的性能,,使得網(wǎng)站訪問性能達(dá)到最優(yōu)狀態(tài)卻不是一件簡(jiǎn)單的事情,這里我就介紹一下如何一步一步的優(yōu)化你的IIS服務(wù)器,。
服務(wù)器端環(huán)境,,我們以Windows Server 2003的IIS6.0為例,客戶端環(huán)境為Mozilla Firefox 3.0,,同時(shí)安裝Yahoo的YSlow擴(kuò)展,。 YSlow是Yahoo開發(fā)者團(tuán)隊(duì)發(fā)布的一款基于Firebug的插件。用于分析網(wǎng)頁,,并根據(jù)一些高性能網(wǎng)站的規(guī)則進(jìn)行相應(yīng)的評(píng)級(jí)打分,,對(duì)于網(wǎng)頁性能優(yōu)化有很好的幫助 作用,告訴你那些部分影響了你的網(wǎng)頁速度,,并告訴你如何基于某些規(guī)則而進(jìn)行優(yōu)化,。我們對(duì)于IIS的優(yōu)化策略就是基于YSlow的。 使用安裝了YSlow的Firefox打開目標(biāo)網(wǎng)站,,然后點(diǎn)擊YSlow圖標(biāo),,點(diǎn)擊Performance,。 其中Performance Grade為YSlow對(duì)你網(wǎng)站的評(píng)級(jí),A(100分)為最高,,F(xiàn)為最低,,后面列出如何進(jìn)行修改,下面我以IIS 6.0為例介紹一下如何進(jìn)行優(yōu)化網(wǎng)站性能,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍1:減少HTTP請(qǐng)求數(shù)量 這主要是修改網(wǎng)站代碼,,減少外部圖片、CSS,、JS等文件數(shù)量,,手動(dòng)合并多個(gè)CSS/JavaScript文件。IIS那里不用設(shè)置,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍2:使用CDN 對(duì)于小網(wǎng)站來說,,這個(gè)就免了吧。當(dāng)然有錢人可以試試,,可以從技術(shù)上解決用戶訪問網(wǎng)站響應(yīng)速度慢的問題,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍3:?jiǎn)⒂脙?nèi)容過期 對(duì)于靜態(tài)文件啟用內(nèi)容過期可以提高訪問性能。首先網(wǎng)站的目錄要?jiǎng)澐趾侠?,圖片,、CSS、JavaScript均放在單獨(dú)目錄下,,然后在IIS中選擇目 錄,,點(diǎn)屬性-HTTP頭,啟用內(nèi)容過期,,可以選擇30天后過去,,這樣,用戶瀏覽器將比較當(dāng)前日期和截止日期,,以便決定是顯示緩存頁還是從服務(wù)器請(qǐng)求更新的 頁,,由于圖片、CSS,、JS通常變化較少,因此基本上都從本地緩存讀取,,從而加快顯示速度,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍4:?jiǎn)⒂肎zip壓縮 HTTP壓縮是在Web服務(wù)器和瀏覽器間傳輸壓縮文本內(nèi)容的方法。HTTP壓縮采用通用的壓縮算法如Gzip等壓縮HTML,、JavaScript或 CSS文件,。壓縮的最大好處就是降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,從而提高客戶端瀏覽器的訪問速度,。 使用方法是,,右擊“網(wǎng)站”->“屬性”,,選擇“服務(wù)”。在“HTTP壓縮”框中選中“壓縮靜態(tài)文件”,,“臨時(shí)目錄”建議單獨(dú)設(shè)置另一個(gè)盤的目錄下,。 之后,IIS管理器中,,右擊“Web服務(wù)擴(kuò)展”->“增加一個(gè)新的Web服務(wù)擴(kuò)展”,,在“擴(kuò)展名”中輸入“HTTPCompression”,添 加“要求的文件”為C:\WINDOWS\system32\inetsrv\gzip.dll,,其中Windows系統(tǒng)目錄根據(jù)您的安裝可能有所不同,, 選中“設(shè)置擴(kuò)展?fàn)顟B(tài)為允許”。 最后,,使用文本編輯器打開C:\Windows\System32\inetsrv\MetaBase.xml,,在HcFileExtensions中 增加需要壓縮的靜態(tài)文件后綴名,默認(rèn)為HTML和TXT文件,,建議再添加上js,、css等,不要添加圖片或ZIP等已經(jīng)被壓縮的文件,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍5:將樣式文件放在頭部 這是基本的HTML代碼風(fēng)格,,將所有的CSS文件都放在HTML頁面的頭部。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍6:將腳本文件放在尾部 這也是基本的HTML代碼風(fēng)格,,將所有的JavaScript文件都放在HTML頁面的尾部,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍7:避免CSS表達(dá)式 這點(diǎn)很簡(jiǎn)單,因?yàn)榇蠖鄶?shù)人從來不用CSS表達(dá)式,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍8:使用外部的JavaScript和CSS 將所有的JavaScript和CSS都做成外部文件的形式進(jìn)行引用,,這主要是為了讓這些文件可以被瀏覽器緩存起來,參見第三點(diǎn)的介紹,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍9:減少DNS查詢 域名的DNS查詢會(huì)帶來額外的訪問開銷,,減少頁面內(nèi)文件的主機(jī)域名數(shù)量,一個(gè)頁面的主機(jī)域名保持在2-4個(gè)以內(nèi),,這樣就不會(huì)降低頁面的裝入速度,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍10:壓縮JavaScript文件 壓縮腳本文件,刪除不必要的字符,,可以改善加載時(shí)間,,目前有很多JavaScript文件的壓縮工具,我這里有一個(gè)GUI界面的JS壓縮工具供下載,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍11:避免重定向 網(wǎng)頁的重定向會(huì)帶來額外的運(yùn)行開銷,,因此要避免頁面進(jìn)行重定向跳轉(zhuǎn)操作。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍12:刪除重復(fù)腳本 一個(gè)頁面兩次包含同一個(gè)JavaScript文件會(huì)影響加載的性能,,因此需要將重復(fù)的腳本文件刪除,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍13:配置ETag 這是一個(gè)令人迷惑的問題,。理論上說將服務(wù)器的ETag刪除會(huì)提高HTTP請(qǐng)求的性能,但是按照微軟官方提供的修改方法配置IIS 6.0,,并沒有實(shí)際效果,,最終我使用了一個(gè)remetag,以ISAPI的方式實(shí)現(xiàn)了刪除ETag的功能,。 IIS網(wǎng)站服務(wù)器性能優(yōu)化秘籍總結(jié) 經(jīng)過上面這些網(wǎng)站前端重構(gòu)和WEB服務(wù)器的配置修改,,我們的頁面結(jié)構(gòu)就變得更加規(guī)范,重構(gòu)的頁面大多都會(huì)取得不錯(cuò)的YSlow的評(píng)分,,總體來說性能提升了不少,。對(duì)于最終用戶來說,也會(huì)明顯感受到訪問網(wǎng)站速度變快了很多,,網(wǎng)站的瀏覽體驗(yàn)得到了較好的提升 |
|