簡介
Microsoft Windows 2000 Server 的 Internet Information Services (IIS) 5.0 可讓您的 Web 服務(wù)器提供性能增強(qiáng)及更高的可用性。通過操作系統(tǒng)及 IIS 之間更緊密的集成,您現(xiàn)在可以調(diào)整服務(wù)器,讓它比之前的版本更快且更有效率地執(zhí)行。
這份文件是針對負(fù)責(zé)監(jiān)視及調(diào)整在 Windows 2000 及 IIS 上執(zhí)行的網(wǎng)站的 Web服務(wù)器管理員而設(shè)計(jì)的。雖然其中涵蓋一些 Web 應(yīng)用程序測試及調(diào)整的討論,但是這份文件的主要閱讀者并不包含 Web 應(yīng)用程序開發(fā)人員。
這份文件討論了調(diào)整 Web 服務(wù)器性能的方法。它也討論了為什么調(diào)整性能很重要,同時(shí)還討論在調(diào)整 IIS 5.0 Web服務(wù)器時(shí)會(huì)牽涉到的硬件、軟件及測試問題。最后,它還包括一段針對可用來監(jiān)視及測試服務(wù)器性能的工具所作的簡短討論。雖然其中有段討論是與調(diào)整網(wǎng)絡(luò)應(yīng)用程序時(shí)會(huì)發(fā)生的問題比較有關(guān),但這份文件不會(huì)就此議題深究。如需此議題或其它主題的鏈接及參照,請參閱這份文件的〈資源〉小節(jié)。
將性能調(diào)整當(dāng)作一種藝術(shù)
調(diào)整服務(wù)器性能的方式就像 Internet 上的網(wǎng)站一樣的多。根據(jù)貴公司想要在 Web上如何呈現(xiàn)所作的選擇而定,您可能必須負(fù)責(zé)將您的 Web 服務(wù)器調(diào)整成最適合于提供靜態(tài)的網(wǎng)頁或動(dòng)態(tài)編譯的應(yīng)用程序頁。每一種站點(diǎn)會(huì)有不同的硬件、應(yīng)用程序的需求,以及 Windows 2000 和 IIS 性能調(diào)整選項(xiàng)。另一個(gè)需要考慮的是您實(shí)際上希望網(wǎng)絡(luò)處理的傳輸量,特別是尖峰負(fù)載期間。負(fù)載量會(huì)影響Web服務(wù)器的性能,而不同的商業(yè)活動(dòng) (例如貴公司宣傳活動(dòng)的頻繁程度) 會(huì)決定您的網(wǎng)站必須處理的用戶請求數(shù)目。您應(yīng)該清楚知道這些負(fù)載的內(nèi)容,并且在讓它們上線之前,先在網(wǎng)絡(luò)上仿真它們。有幾個(gè)原因可以說明為什么沒有任何關(guān)于如何調(diào)整Web服務(wù)器而提出的金玉良言。
調(diào)整Web服務(wù)器的性能應(yīng)該被視為一種藝術(shù),而不是一種科學(xué):嘗試及錯(cuò)誤是決定何種設(shè)置及硬件對您的網(wǎng)站需求最適合的重要手法。雖然了解本文所討論的技術(shù)性設(shè)置很重要,但了解您的應(yīng)用程序或網(wǎng)站的設(shè)置文件,以及它們在不同狀態(tài)下會(huì)如何運(yùn)行也同樣重要。就像一位畫家用炭筆簡單繪出一種他想如何完成一幅畫的感覺,您同樣應(yīng)備有一個(gè)計(jì)劃來評估您網(wǎng)站服務(wù)器的性能。第一個(gè)步驟是在您要測試的網(wǎng)站上建立一個(gè)受控制的環(huán)境、并進(jìn)行預(yù)測負(fù)載的性能分析,然后在讓 Web 服務(wù)器在 Internet上發(fā)布之前,先測量該環(huán)境中的性能。因?yàn)榉⻊?wù)器的性能會(huì)因不同期間存取您網(wǎng)站的瀏覽器傳輸量產(chǎn)生明顯的差異,所以請確定在不同負(fù)載下觀察與記錄您的網(wǎng)站測試,以獲取網(wǎng)絡(luò)上活動(dòng)的真實(shí)畫面。在此期間,您可能要有一份備份計(jì)劃,以防止您的網(wǎng)站在部署前后因任何問題造成停機(jī)。
若要提高服務(wù)器性能,請檢查系統(tǒng)的每一部份,以找出潛在的瓶頸。造成瓶頸的原因可能是硬件設(shè)置不恰當(dāng)或不正確,或是 IIS 或 Windows 2000中的軟件設(shè)置所致。完善的監(jiān)視計(jì)劃會(huì)檢查各方面的性能。
一旦得知您的服務(wù)器執(zhí)行的情形,便可開始針對提高性能作響應(yīng)的改變。您應(yīng)該一次作一個(gè)改變,并且先有個(gè)經(jīng)過測試的恢復(fù)計(jì)劃,否則想評估個(gè)別改變的影響會(huì)變得困難。 在完成每一個(gè)改變之后,請繼續(xù)觀察此改變是否已達(dá)到預(yù)計(jì)的效果。如果發(fā)現(xiàn)非預(yù)計(jì)的副作用產(chǎn)生時(shí),你就可以執(zhí)行恢復(fù)程序,將服務(wù)器還原成它的上一個(gè)狀態(tài)。由于對一個(gè)資源所作的改變會(huì)引發(fā)其它區(qū)域出現(xiàn)瓶頸,所以在改變后檢查所有資源的性能是很重要的。一旦評估完一個(gè)改變的影響之后,便可以決定有無必要作進(jìn)一步的改變。
|