IIS網站服務器性能優化攻略

Windows Server自帶的互聯網信息服務器(Internet Information Server,IIS)是架設網站服務器的經常使用工具,它是一個既簡單而又麻煩的東西,新手均可以使用IIS架設一個像模像樣的Web站點來,但配置、優化 IIS的性能,使得網站訪問性能達到最優狀態卻不是一件簡單的事情,這裏我就介紹一下如何一步一步的優化你的IIS服務器。 
 
 
 css

  服務器端環境,咱們以Windows Server 2003的IIS6.0爲例,客戶端環境爲Mozilla Firefox 3.0,同時安裝Yahoo的YSlow擴展。前端

  YSlow是 Yahoo開發者團隊發佈的一款基於Firebug的插件。用於分析網頁,並根據一些高性能網站的規則進行相應的評級打分,對於網頁性能優化有很好的幫助 做用,告訴你那些部分影響了你的網頁速度,並告訴你如何基於某些規則而進行優化。咱們對於IIS的優化策略就是基於YSlow的。算法

  使用安裝了YSlow的Firefox打開目標網站,而後點擊YSlow圖標,點擊Performance。瀏覽器

  其中Performance Grade爲YSlow對你網站的評級,A(100分)爲最高,F爲最低,後面列出如何進行修改,下面我以IIS 6.0爲例介紹一下如何進行優化網站性能。緩存

  一、減小HTTP請求數量性能優化

  這主要是修改網站代碼,減小外部圖片、CSS、JS等文件數量,手動合併多個CSS/JavaScript文件。IIS那裏不用設置。服務器

  二、使用CDN網絡

  對於小網站來講,這個就免了吧。固然有錢人能夠試試,能夠從技術上解決用戶訪問網站響應速度慢的問題。編輯器

  三、啓用內容過時工具

  對於靜態文件啓用內容過時能夠提升訪問性能。首先網站的目錄要劃分合理,圖片、CSS、JavaScript均放在單獨目錄下,而後在IIS中選擇目 錄,點屬性-HTTP頭,啓用內容過時,能夠選擇30天后過去,這樣,用戶瀏覽器將比較當前日期和截止日期,以便決定是顯示緩存頁仍是從服務器請求更新的 頁,因爲圖片、CSS、JS一般變化較少,所以基本上都從本地緩存讀取,從而加快顯示速度。

  四、啓用Gzip壓縮

  HTTP壓縮是在Web服務器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮採用通用的壓縮算法如Gzip等壓縮HTML、JavaScript或 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等已經被壓縮的文件。

  五、將樣式文件放在頭部

  這是基本的HTML代碼風格,將全部的CSS文件都放在HTML頁面的頭部。

  六、將腳本文件放在尾部

  這也是基本的HTML代碼風格,將全部的JavaScript文件都放在HTML頁面的尾部。

  七、避免CSS表達式

  這點很簡單,由於大多數人歷來不用CSS表達式。

  八、使用外部的JavaScript和CSS

  將全部的JavaScript和CSS都作成外部文件的形式進行引用,這主要是爲了讓這些文件能夠被瀏覽器緩存起來,參見第三點的介紹。

  九、減小DNS查詢

  域名的DNS查詢會帶來額外的訪問開銷,減小頁面內文件的主機域名數量,一個頁面的主機域名保持在2-4個之內,這樣就不會下降頁面的裝入速度。

  十、壓縮JavaScript文件

  壓縮腳本文件,刪除沒必要要的字符,能夠改善加載時間,目前有不少JavaScript文件的壓縮工具,我這裏有一個GUI界面的JS壓縮工具供下載。

  十一、避免重定向

  網頁的重定向會帶來額外的運行開銷,所以要避免頁面進行重定向跳轉操做。

  十二、刪除重複腳本

  一個頁面兩次包含同一個JavaScript文件會影響加載的性能,所以須要將重複的腳本文件刪除。

  1三、配置ETag

  這是一個使人迷惑的問題。理論上說將服務器的ETag刪除會提升HTTP請求的性能,可是按照微軟官方提供的修改方法配置IIS 6.0,並無實際效果,最終我使用了一個remetag,以ISAPI的方式實現了刪除ETag的功能。

  通過上面這些網站前端重構和WEB服務器的配置修改,咱們的頁面結構就變得更加規範,重構的頁面大多都會取得不錯的YSlow的評分,整體來講性能提高了很多。對於最終用戶來講,也會明顯感覺到訪問網站速度變快了不少,網站的瀏覽體驗獲得了較好的提高。

相關文章
相關標籤/搜索