溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache三種MPM模式

發(fā)布時間:2020-08-04 06:38:07 來源:網絡 閱讀:267 作者:派獺星 欄目:系統(tǒng)運維

Apache prefork模型:?

? ? ?預派生模式,有一個主控制進程,然后生成多個子進程,使用select模型,最大并發(fā)1024,每個子進程有一個獨立 的線程響應用戶請求,相對比較占用內存,但是比較穩(wěn)定,可以設置最大和最小進程數(shù),是最古老的一種模式,也 是最穩(wěn)定的模式,適用于訪問量不是很大的場景。 優(yōu)點:穩(wěn)定 缺點:大量用戶訪問慢,占用資源,1024個進程不 適用于高并發(fā)場景


Apache woker模型:

? ?一種多進程和多線程混合的模型,有一個控制進程,啟動多個子進程,每個子進程里面包含固定的線程,使用線程 程來處理請求,當線程不夠使用的時候會再啟動一個新的子進程,然后在進程里面再啟動線程處理請求,由于其使 用了線程處理請求,因此可以承受更高的并發(fā)。 優(yōu)點:相比prefork 占用的內存較少,可以同時處理更多的請求 缺 點:使用keepalive的長連接方式,某個線程會一直被占據(jù),即使沒有傳輸數(shù)據(jù),也需要一直等待到超時才會被釋 放。如果過多的線程,被這樣占據(jù),也會導致在高并發(fā)場景下的無服務線程可用。(該問題在prefork模式下,同 樣會發(fā)生)?


Apache event模型:

? ?Apache中最新的模式,2012年發(fā)布的apache 2.4.X系列正式支持event 模型,屬于事件驅動模型(epoll),每個進 程響應多個請求,在現(xiàn)在版本里的已經是穩(wěn)定可用的模式。它和worker模式很像,最大的區(qū)別在于,它解決了 keepalive場景下,長期被占用的線程的資源浪費問題(某些線程因為被keepalive,空掛在哪里等待,中間幾乎沒 有請求過來,甚至等到超時)。event MPM中,會有一個專門的線程來管理這些keepalive類型的線程,當有真實 請求過來的時候,將請求傳遞給服務線程,執(zhí)行完畢后,又允許它釋放。這樣增強了高并發(fā)場景下的請求處理能 力。 優(yōu)點:單線程響應多請求,占據(jù)更少的內存,高并發(fā)下表現(xiàn)更優(yōu)秀,會有一個專門的線程來管理keep-alive型的線程,當有真實請求過來的時候,將請求傳遞給服務線程,執(zhí)行完畢后,又允許它釋放 缺點:沒有線程安全控

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI