国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Apache > 正文

Apache多路復(fù)用模塊(MPMs)介紹

2024-08-27 18:27:31
字體:
供稿:網(wǎng)友

當(dāng)整個世界都慢慢傾向于nginx的時候,如果你還在使用apache,那么你可能會用盡一切辦法來保證速度。你也許會調(diào)整要加載的模塊,使用Keepalive、擺弄內(nèi)容協(xié)商模塊(mod_negotiation,譯注:從幾個文檔中選擇一個最匹配客戶端要求的文檔)、FollowSymLinks指令(譯注:允許在此目錄中使用軟鏈接)以及重寫功能;你甚至可能還會投入更多硬件,并假裝自己沒有。然而,如果你運營的網(wǎng)站非常繁忙而不想因為內(nèi)存的原因而導(dǎo)致網(wǎng)站崩潰,那么你就應(yīng)該關(guān)注你所使用的MPM。

MPM,也叫多道處理模塊(Multi Processing Module),關(guān)系到真?zhèn)€HTTP會話。從網(wǎng)絡(luò)上的監(jiān)聽、請求進入到最重要的--如何處理子請求,這里我們討論的是子進程及子線程。對于unix系統(tǒng)的機器來說Apache提供了3種MPM以供選擇:; Prefork, Worker, and Event。同時,只對其他系統(tǒng)Apache也提供了許多其他種類的MPM,但是我們這里主要關(guān)注最常見的,可能也是你最想看到的(也是我最擅長的)。這些MPM處理Apache服務(wù)器用來接受、處理以及服務(wù)器HTTP請求過程中的進程和潛在線程。

從不嚴(yán)格的角度來看,進程是一個程序的實例。每個進程是完全自包含的,并且在地址空間、變量、內(nèi)存等方面和其他進程是完全獨立、隔離開來執(zhí)行的。為了理解本文目的和內(nèi)容,你可以思考一下下面這句話:5個Apache進程表示運行著5個不同的Apache實例。雖然這是相當(dāng)值得警告的做法,但是這足以安全的記住本文的目的。

換句話說,一個線程被一個進程創(chuàng)建并擁有。一個進程可以有多個線程,這些線程并不是完全獨立的。它們共享進程為它們分配的同一個狀態(tài)以及地址空間。

總之,進程是程序的一個實例,它被用來告訴整個系統(tǒng)它的存在以及需要資源并且可以執(zhí)行他自己的資源;線程只有被進程創(chuàng)建以后才能真正執(zhí)行一些東西。因此,線程不需要發(fā)布自己而是由整個應(yīng)用如進程來做,而且線程本質(zhì)上使用更少的系統(tǒng)資源如內(nèi)存。
 
Apache Prefork MPM

Prefork多處理模塊是非線程的。它完全不使用線程,使用整個進程用來處理每個HTTP請求。當(dāng)一個HTTP請求傳入,假設(shè)是用來請求你加貓咪的圖片,那么整個進程都會去該請求捆綁而且為這個人的請求負(fù)責(zé)。如果在同一時間有其他人來瀏覽你家貓咪的圖片,那么另一個完全不同的進程會被使用。

Prefork在快速和穩(wěn)定性方面很好。Prefork只有輕微的邊緣響應(yīng)時間,這是因為它不需要處理在它進程中的不同線程;同時在一個特定的請求發(fā)生錯誤的情況下它也是穩(wěn)定的,因為整個進程只是由一個請求決定,而其他請求是由另外的進程來處理,所以其他請求不受影響。

Prefork也適用于如果你所使用的apache模塊不能處理線程的情況。最常見的是mod_php模塊(盡管它的最新努力方向是ZTS)。你可能在使用PHP以及/或者一些不能被Apache所處理的腳本時會遇到這個問題,但是有一些腳本除外如php-fpm。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 彭山县| 饶河县| 湘潭县| 沽源县| 商水县| 马山县| 九江市| 靖江市| 青海省| 通化市| 临桂县| 六盘水市| 改则县| 沈阳市| 北海市| 屯门区| 玛曲县| 孟津县| 利川市| 洪泽县| 秭归县| 全州县| 无为县| 海门市| 荆门市| 滨州市| 临澧县| 通州区| 昌平区| 东阿县| 弥渡县| 利津县| 吐鲁番市| 鹿泉市| 台山市| 靖边县| 临颍县| 虎林市| 中山市| 无锡市| 玉门市|