熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows服務器 >> 正文

IIS優化為Web服務器減負

2022-06-13   來源: Windows服務器 

    打造基於IIS 的站點是很多企業的首選但是IIS相對於其他Web平台不但對硬件的要求比較高而且其性能不夠盡如人意如果沒有強勁的硬件平台用IIS搭建的Web站點確實有些老牛破車的味道另外IIS保守的默認設置讓這一切雪上加霜如何在現有的硬件平台上打造快捷的Web服務器呢?那就從IIS優化為Web減負開始

  禁止多余的Web服務擴展

  IIS支持多種服務擴展有些管理員偷懶或者不求甚解擔心Web運行中出現解析錯誤索性在建站時開啟了所有的Web服務擴展殊不知這其中的有些擴展比如所有未知CGI擴展在服務器端的包含文件等是Web運行中根本用不到的況且還占用IIS資源影響性能拖垮Web甚至某些擴展存在漏洞容易被攻擊者利用因此科學的原則是用到什麼擴展就啟用什麼擴展

  如果企業站點是靜態頁面那什麼擴展都不要開啟不過現在的企業站點都是交互的動態頁面比如aspphpjsp等如果是asp頁面那只需開啟Active Server Pages即可對於phpjsp等動態頁面IIS默認是不支持的需要進行安裝相應組件實現對這些擴展的支持不過此時用不到的擴展完全可以禁用

  禁止Web服務擴展的操作非常簡單打開IIS管理器在左窗格中點擊Web服務擴展在右側選擇相應的擴展然後點擊禁用即可(圖)

    刪除不必要的IIS擴展名映射

  IIS默認支持aspcdx等種擴展名的映射這其中除了asp之外其他的擴展幾乎用不到這些用不著的擴展會加重web服務器的負擔而且帶來一定的安全隱患比如asacer等擴展名就可以被攻擊者利用來獲得webshell因為一般的asp系統都會限制asp文件的上傳但如果沒有限制asa或者cer等擴展名攻擊者就可以更改文件後綴突破上傳限制運行asa或者cer的文件獲得webshell(圖)

    刪除IIS擴展名的操作是打開IIS管理器右鍵單擊默認Web站點選擇屬性點擊主目錄選項卡然後點擊配置打開應用程序窗口最後根據自己的需要選擇不必要的應用程序映射比如shtml shtm stm等然後點擊刪除即可(圖)

    取消訪問記錄

  IIS默認開啟對於web的訪問記錄當開啟記錄功能後IIS會事無巨細地忠實記錄所有的web訪問記錄這些記錄文件的內容是非常龐雜的比如訪問時間客戶端IP從哪個鏈接訪問 Cookies等另外還包括 Method(方法) UserAgent(用戶代理)等這些記錄不但占用大量的磁盤空間還大大地影響了web服務器的性能有人做過評測停止訪問記錄可以提升%到%的web性能而且這些記錄對於一般用戶特別是中小型的Web站點沒有什麼用途簡直太耗費系統性能了因此建議關閉它

  取消訪問記錄的操作是打開IIS管理器定位到具體的web站點右鍵點擊選擇屬性主目錄選項卡下取消對記錄訪問的勾選即可(圖)

    對訪問流量進行限制

  默認情況下IIS 對於訪問量是沒有限制的如果並發連接過大超過了Web的負載輕則發生網絡擁塞重則導致服務器宕機因此需要對用戶的訪問進行限制控制Web訪問的流量

  打開Internet信息服務管理器在其窗口右側點擊主機名前面的+依次定位到某個Web站點上選中該Web站點右鍵單擊選擇屬性在打開的屬性設置窗口中選中性能標簽啟用帶寬限制復選框選中在隨後被激活的最大網絡使用設置框中指定你的網絡站點帶寬的具體數值大家可以根據服務器的性能及其訪問量綜合考慮繼續設置對於一般的企業站點將帶寬流量設置為kb/s就差不多了同時在網站連接下可以進行連接限制的設置大家可以根據情況設置一個數值完成以上設置後IIS就只能使用其被授予的資源進行Web服務杜絕了異常情況造成的服務器過載為Web減負(圖)

    讓Web負載自由伸縮

  默認情況下IIS是全負荷地為Web提供服務的這在一定程度上加重了Web負擔如何能夠自動地根據負載變化自動調節工作進程呢?

  利用IIS 的Web園我們只需指定用於某個應用程序池的工作進程的數量就可以了實現各個Web站點之間的隔離具體的配置步驟是Internet信息服務管理器中打開應用程序池的屬性對話框轉到性能Web園下面的最大工作進程數輸入框中輸入進程數量當服務器的負載較小不需要額外的工作進程時IIS 在一定的時間後(默認分鐘可配置)自動縮減實際的工作進程數量;如果負載變大需要額外的工作進程IIS 再次增加工作進程數量另外還可以啟用CUP監視設置最大CPU使用率刷新CUP使用率值以及CPU使用率超過最大使用率是執行的操作這些設置可以根據需要進行設置當一切設置完成後這一切就交給IIS自動進行不需要管理員干預 (圖)

    配置應用呈現池

  IIS可以支持多個Web服務特別是虛擬主機一台服務器上有非常多的Web站點如何才能做到各個站點之間相互獨立不因某些Web站點出現故障而影響其他站點呢?為不同工作進程指定應用程序池是個很好的解決辦法

  ()創建

  打開IIS 管理器展開本地計算機右鍵單擊應用程序池選擇新建→應用程序池應用程序池名稱框中輸入新的應用程序池名稱如果點選選將現有應用程序池作為模板可以在應用程序池名稱下來列表中選擇相應的應用程序池最後單擊確定即可 (圖)

  ()指派

  在IIS 管理器中右鍵單擊你要為其指派應用程序池的站點然後單擊屬性在該站點的屬性面板中主目錄選項卡應用程序池下拉列表中選擇剛才創建的應用程序池即可如果所有的選項為灰色單擊創建按鈕就可以輸入應用程序名然後在應用程序池列表框中選擇並指派網站的應用程序池了(圖)

  ()回收

  利用回收功能可是設置如何恢復系統資源進行IIS資源使用的靈活定制打開IIS 管理控制台單擊+號依次展開本地計算機→應用程序池選擇你要回收的應用程序池右鍵單擊選擇屬性出現應用程序池的屬性對話框單擊回收選項卡在其下可以設置進程回收內存回收所有這些設置大家根據實際需要進行設置(圖)

  總結通過上述IIS優化措施Web服務器就能輕裝上陣其性能將會有較大的提升當然要從根本上改善Web性能僅僅進行軟設置是不夠的另外還需要進行硬件改造軟硬結合才是最完美的解決方案


From:http://tw.wingwit.com/Article/os/fwq/201405/31009.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.