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