終極優化(3):使用 IIS 5.0 調整 Web服務器的藝術與科學
windows 2000 及 iis 5.0 中的功能及設置 如果您目前正在含 iis 4.0 的 windows nt server 4.0 上執行一個經過適當調整的站點,則該站點在 windows 2000 server 及 iis 5.0 上應可順利地執行。相關信息請參閱 windows 2000 performance test by zd labs。 當
windows 2000 及 iis 5.0 中的功能及設置
如果您目前正在含 iis 4.0 的 windows nt server 4.0 上執行一個經過適當調整的站點,則該站點在 windows 2000 server 及 iis 5.0 上應可順利地執行。相關信息請參閱 windows 2000 performance test by zd labs。 當進行遷移時,您還是要監視你的
服務器及站點。您將會注意到在 windows 2000 及 iis 5.0 中有些針對增強
性能及簡化管理而設計的新功能。此外,在 iis 4.0 中的默認的設置值到了 iis 5.0 之后已有所改變。本節將討論這些功能及變化。
將 windows 2000 設置為應用程序服務器
如果打算將服務器主要當作web服務器使用,則將服務器計算機設為應用程序服務器是提高性能的最快方法。如此可讓您利用較高的 smp 縮放性、更高的
網絡性能,及更多 web 應用程序物理內存的支持。對于執行 com 的應用程序,則使用 windows 2000 當作應用程序服務器也會對com+ 有更多好處。此外,您可以將 com+ 的交易處理功能當作一個交易監視器使用,以提高
數據庫應用程序的性能。windows 2000 server 會默認安裝成文件服務器,因此您必須確定在安裝過程中選擇了應用程序服務器。不過,即使沒有選取,在安裝之后再將服務器設為應用程序服務器也很容易。若要選取︰
1. 按一下 [開始],并指向 [設置] 后,再按 [網絡和撥號連接]。
2. 選取 [區域連接],并開啟它的屬性。
3. 選取 [file and printer sharing for microsoft networks],并開啟它的屬性。
4. 在 [服務器最佳化] 選項卡上選取 [網絡應用程序的數據傳輸量最大化]。
此設置將于重新啟動服務器之后才生效。
iisreset 公用程序
iis 5.0 提供一些新功能及默認設置,使得執行 iis 5.0 的站點更加可靠且容易管理。其中第一個功能是新的 iisreset.exe,它是一個讓您不必重新開機就能停止及重新啟動 iis 服務的公用程序。iisreset 在默認情況下會在它們失敗時重新啟動您的服務。您也可以使用 iisreset 從遠程啟動、停止或暫停您的服務,或視需要重新啟動您的服務器計算機。您應該在沒有辦法時才重新啟動。如果使用 iisreset 重新啟動您的網絡服務,用戶會遭遇短暫暫停,此時他們只要按一下重新整理即可取得新網頁。如果重新啟動整臺計算機,則無法使用的時間會更久。您也可以隔離您要停止的服務。例如,如果是在和web服務器相同的計算機上執行 smtp 服務器,則可選擇只要停止并重新啟動您的 web 服務,而不是連smtp 服務也跟著停止。
您必須知道如果經常重新開機及重新啟始(按reset鍵)會有損于性能資料的完整性。如果使用 iisreset 自動重新啟動服務,就比較不會發生這個問題,因此您應該不斷地監視 [事件記錄文件],以獲取重新開機的情況。
iis 設置
[aspprocessorthreadmax metabase 的內容已改變。它原本在 iis 4.0 中是稱為 processorthreadmax,而且是存在注冊表(registry)中,其默認值為 10。在 iis 5.0 中的新默認值是 25 。這個設置是指每個處理器及每一進程︰在雙 cpu 的系統上,每一進程中的工作線程數目可達 aspprocessorthreadmax 值的兩倍之高,或高達 50 個工作自變量 (這是指在雙 cpu 上的默認值的數目)。如果正在執行多個高度隔離的 asp 應用程序,則每一個進程會有一組獨立的工作線程。
附注︰asp 會以 cpu 個數加上 7 的工作線程數目開始。當 asp 請求隊列的大小超過某個臨界值時,它會建立更多線程。
aspthreadgateenabled 內容已添加到 metabase 中。它在默認值是關閉的。如果開啟此內容,則 iis 會執行線程傳送,從而動態地控制當前線程的個數,以響應不同的負載狀態。當 cpu 用量降到 50% 以下時,可能表示線程被阻斷 (例如正在等待外部數據庫傳回查詢的結果),或純粹表示負載量低, iis 5.0 會增加使用中的線程數目,以便實時服務其它請求。當處理器用量超過 80% 時 (代表高負載量),iis 5.0 會撤消線程,以減少內容切換的數量。您可以設置上限及下限︰aspthreadgateloadlow 默認是 50%;aspthreadgateloadhigh 默認是 80 %。不管aspthreadgateenabled 的值如何,asp 進程的工作線程一定不會超過 cpu 個數乘以aspprocessorthreadmax。
對于需要處理大量 asp 的站點,最好是通過開啟及關閉線程傳送來
測試它的性能,看看會有什么效果。根據您的觀察作最后決定。對于主要是由靜態文件組成的站點,請開啟設置并監視服務器性能,看看傳輸量及響應時間是否有改善。
原文轉自:http://www.kjueaiud.com