您好,登錄后才能下訂單哦!
Web Garden 是 IIS 6.0 引入的另一個概念,在 IIS 7.0 中,這個概念仍然有效。利用這個概念,可以使用多工作進程來處理同一個應用程序池。
Web Garden 可以有效地提高系統性能,并具有以下優勢:
(1)當一個工作進程因為集中關注處理某事而無法完成其他處理任務時,其他工作進程仍然能夠處理新的請求。
(2)減少了資源的爭用。在正常操作過程中,每個新的頁面請求都被指派給一組工作進程中的某個進程,指派時,我們使用輪詢方式完成指派工作。這樣就可以使工作進程的工作負載盡可能地平滑。
因為一個單獨的應用程序總是在被分割后以多個進程為載體運行,因此,一個應用程序中共享的內容必須保存在進程之外。例如,在一個 Web garden 中,會話狀態在進程內是無法工作的,因為在一個Web garden 中存在會話狀態的多個副本,每個進程都可以讀寫某個會話狀態,并將這個會話狀態保存在不同的會話狀態存儲區。
某些 Web 應用程序更適合使用 Web Garden。以下是使用 Web Garden 的最佳實踐指南:
(1)Web 應用程序不應該是一個需要消耗大量 CPU 資源的應用程序,這是因為,令一個需要消耗大量 CPU 的頁面請求與一個首次訪問頁面的請求爭用 CPU 資源,只會導致兩敗俱傷。
(2)如果一個應用程序同步延遲比較高,那么這個應用程序就比較適合于 Web Garden。例如,如果應用程序調用了一個 Web 服務或者訪問了一個遠程數據庫,從而導致系統響應遲緩,那么利用 Web Garden,我們就可以在等待長時間執行的應用程序完成處理工作的過程中,處理其他請求。
(3)每個進程都存在內存負擔,啟動時需要額外的時間開銷,這類進程如果太多,那么就很容易耗盡一臺服務器的資源。
盡管 Web Garden 和 Web farm 存在某些共同特征,但是,Web Garden 和 Web farm 是完全不同的概念。Web Garden 是由運行于一臺服務器中的多個進程組成的,這些進程用于處理同一個應用程序池;而Web farm 則是由多臺服務器組成,這些服務器可以協同工作,提供較高的可用性和較好的可伸縮性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。