實戰經驗:IIS網站伺服器性能優化攻略

來源:互聯網
上載者:User
關鍵字 伺服器

仲介交易 SEO診斷 淘寶客 雲主機 技術大廳

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

伺服器端環境,我們以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為例介紹一下如何進行優化網站性能。

1、減少HTTP請求數量

這主要是修改網站代碼,減少外部圖片、CSS、JS等檔數量,手動合併多個CSS/JavaScript檔。 IIS那裡不用設置。

2、使用CDN

對於小網站來說,這個就免了吧。 當然有錢人可以試試,可以從技術上解決使用者訪問網站回應速度慢的問題。

3、啟用內容過期

對於靜態檔啟用內容過期可以提高訪問性能。 首先網站的目錄要劃分合理,圖片、CSS、JavaScript均放在單獨目錄下,然後在IIS中選擇目 錄,點屬性-HTTP頭,啟用內容過期,可以選擇30天后過去,這樣,使用者瀏覽器將比較當前日期和截止日期, 以便決定是顯示緩存頁還是從伺服器請求更新的 頁,由於圖片、CSS、JS通常變化較少,因此基本上都從本機快取讀取,從而加快顯示速度。

4、啟用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等已經被壓縮的檔。

5、將樣式檔放在頭部

這是基本的HTML代碼風格,將所有的CSS檔都放在HTML頁面的頭部。

6、將指令檔放在尾部

這也是基本的HTML代碼風格,將所有的JavaScript檔都放在HTML頁面的尾部。

7、避免CSS運算式

這點很簡單,因為大多數人從來不用CSS運算式。

8、使用外部的JavaScript和CSS

將所有的JavaScript和CSS都做成外部檔的形式進行引用,這主要是為了讓這些檔可以被瀏覽器緩存起來,參見第三點的介紹。

9、減少DNS查詢

功能變數名稱的DNS查詢會帶來額外的訪問開銷,減少頁面內檔的主機功能變數名稱數量,一個頁面的主機功能變數名稱保持在2-4個以內,這樣就不會降低頁面的裝入速度。

10、壓縮JavaScript檔

壓縮指令檔,刪除不必要的字元,可以改善載入時間,目前有很多JavaScript檔的壓縮工具,我這裡有一個GUI介面的JS壓縮工具供下載。

11、避免重定向

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

12、刪除重複腳本

一個頁面兩次包含同一個JavaScript檔會影響載入的性能,因此需要將重複的指令檔刪除。

13、配置ETag

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

經過上面這些網站前端重構和WEB伺服器的配置修改,我們的頁面結構就變得更加規範,重構的頁面大多都會取得不錯的YSlow的評分,總體來說性能提升了不少。 對於最終使用者來說,也會明顯感受到訪問網站速度變快了很多,網站的流覽體驗得到了較好的提升。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.