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