IIS網站服務器性能優化攻略
Windows Server自帶的互聯網信息服務器(Internet Information Server,IIS)是架設網站服務器的常用工具,它是一個既簡單而又麻煩的東西,新手都可以使用IIS架設一個像模像樣的Web站點來,但配置、優化 IIS的性能,使得網站訪問性能達到最優狀態卻不是一件簡單的事情,這里我就介紹一下如何一步一步的優化你的IIS服務器。
服務器端環境,我們以Windows Server 2003的IIS6.0為例,客戶端環境為Mozilla Firefox ,同時安裝Yahoo的YSlow擴展。
YSlow是 Yahoo開發者團隊發布的一款基于Firebug的插件。用于分析網頁,并根據一些高性能網站的規則進行相應的評級打分,對于網頁性能優化有很好的幫助 作用,告訴你那些部分影響了你的網頁速度,并告訴你如何基于某些規則而進行優化。我們對于IIS的優化策略就是基于YSlow的。
使用安裝了YSlow的Firefox打開目標網站,然后點擊YSlow圖標,點擊Performance。
其中Performance Grade為YSlow對你網站的評級,A(100分)為最高,F為最低,后面列出如何進行修改,下面我以IIS 6.0為例介紹一下如何進行優化網站性能。
1、減少HTTP請求數量
這主要是修改網站代碼,減少外部圖片、CSS、JS等文件數量,手動合并多個CSS/Java文件。IIS那里不用設置。
2、使用CDN
對于小網站來說,這個就免了吧。當然有錢人可以試試,可以從技術上解決用戶訪問網站響應速度慢的問題。
3、啟用內容過期
對于靜態文件啟用內容過期可以提高訪問性能。首先網站的目錄要劃分合理,圖片、CSS、Java均放在單獨目錄下,然后在IIS中選擇目 錄,點屬性-HTTP頭,啟用內容過期,可以選擇30天后過去,這樣,用戶瀏覽器將比較當前日期和截止日期,以便決定是顯示緩存頁還是從服務器請求更新的 頁,由于圖片、CSS、JS通常變化較少,因此基本上都從本地緩存讀取,從而加快顯示速度。
4、啟用Gzip壓縮
HTTP壓縮是在Web服務器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮采用通用的壓縮算法如Gzip等壓縮HTML、Java或 CSS文件。壓縮的最大好處就是降低了網絡傳輸的數據量,從而提高客戶端瀏覽器的訪問速度。
使用方法是,右擊“網站”->“屬性”,選擇“服務”。在“HTTP壓縮”框中選中“壓縮靜態文件”,“臨時目錄”建議單獨設置另一個盤的目錄下。
之后,IIS管理器中,右擊“Web服務擴展”->“增加一個新的Web服務擴展”,在“擴展名”中輸入“HTTPCompression”,添 加“要求的文件”為C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統目錄根據您的安裝可能有所不同, 選中“設置擴展狀態為允許”。
最后,使用文本編輯器打開C:\Windows\System32\inetsrv\MetaBase.xml,在HcFileExtensions中 增加需要壓縮的靜態文件后綴名,默認為HTML和TXT文件,建議再添加上js、css等,不要添加圖片或ZIP等已經被壓縮的文件。
5、將樣式文件放在頭部
這是基本的HTML代碼風格,將所有的CSS文件都放在HTML頁面的頭部。
6、將腳本文件放在尾部
這也是基本的HTML代碼風格,將所有的Java文件都放在HTML頁面的尾部。
7、避免CSS表達式
這點很簡單,因為大多數人從來不用CSS表達式。
8、使用外部的Java和CSS
將所有的Java和CSS都做成外部文件的形式進行引用,這主要是為了讓這些文件可以被瀏覽器緩存起來,參見第三點的介紹。
9、減少DNS查詢
域名的DNS查詢會帶來額外的訪問開銷,減少頁面內文件的主機域名數量,一個頁面的主機域名保持在2-4個以內,這樣就不會降低頁面的裝入速度。
10、壓縮Java文件
壓縮腳本文件,刪除不必要的字符,可以改善加載時間,目前有很多Java文件的壓縮工具,我這里有一個GUI界面的JS壓縮工具供下載。
11、避免重定向
網頁的重定向會帶來額外的運行開銷,因此要避免頁面進行重定向跳轉操作。
12、刪除重復腳本
一個頁面兩次包含同一個Java文件會影響加載的性能,因此需要將重復的腳本文件刪除。
13、配置ETag
這是一個令人迷惑的問題。理論上說將服務器的ETag刪除會提高HTTP請求的性能,但是按照微軟官方提供的修改方法配置IIS 6.0,并沒有實際效果,最終我使用了一個remetag,以ISAPI的方式實現了刪除ETag的功能。
經過上面這些網站前端重構和WEB服務器的配置修改,我們的頁面結構就變得更加規范,重構的頁面大多都會取得不錯的YSlow的評分,總體來說性能提升了不少。對于最終用戶來說,也會明顯感受到訪問網站速度變快了很多,網站的瀏覽體驗得到了較好的提升。
關鍵字:IIS、網站服務器
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解