在啟動(dòng)MPM模塊配置文件后,我們就可以使用文本編輯器打開(kāi)該配置文件,我們可以看到,在該配置文件中有許多<IfModule>配置節(jié)點(diǎn),如下圖所示:
- 可以防止程序中可能存在的內(nèi)存泄漏無(wú)限進(jìn)行下去,從而耗盡內(nèi)存。
- 給進(jìn)程一個(gè)有限壽命,從而有助于當(dāng)服務(wù)器負(fù)載減輕的時(shí)候減少活動(dòng)進(jìn)程的數(shù)量。


備注:ServerLimit表示Apache允許創(chuàng)建的最大進(jìn)程數(shù)。
值得注意的是,Apache在編譯時(shí)內(nèi)部有一個(gè)硬限制ServerLimit 20000(對(duì)于mpm_prefork模塊為ServerLimit
200000)。你不能超越這個(gè)限制。
ThreadsPerChild每個(gè)子進(jìn)程的最大并發(fā)線程數(shù)。MaxRequestsPerChild每個(gè)子進(jìn)程允許處理的請(qǐng)求總數(shù)。如果累計(jì)處理的請(qǐng)求數(shù)超過(guò)該值,該子進(jìn)程將會(huì)結(jié)束(然后根據(jù)需要確定是否創(chuàng)建新的子進(jìn)程),該值設(shè)為0表示不限制請(qǐng)求總數(shù)(子進(jìn)程永不結(jié)束)。
該參數(shù)建議設(shè)為非零的值,可以帶來(lái)以下兩個(gè)好處:
# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf (去掉該行前面的注釋符號(hào)"#")
2.修改MPM模塊配置文件中的相關(guān)配置
對(duì)應(yīng)的配置參數(shù)作用如下:
注意:在配置相關(guān)參數(shù)時(shí),請(qǐng)先保證服務(wù)器具備足夠的硬件性能(例如:CPU、內(nèi)存等)。 如果發(fā)現(xiàn)自啟動(dòng)后,云主機(jī)租用,隨著服務(wù)器的運(yùn)行時(shí)間增加,服務(wù)器的內(nèi)存占用也隨之增加,可能是程序中出現(xiàn)內(nèi)存泄露,請(qǐng)向下調(diào)整參數(shù)MaxRequestsPerChild的值以降低內(nèi)存泄露帶來(lái)的影響,然后盡快找出程序中的問(wèn)題之所在。
1.啟用MPM模塊配置文件
眾所周知,免備案空間 香港服務(wù)器,Apache是一個(gè)跨平臺(tái)的、采用模塊化設(shè)計(jì)的服務(wù)器。為了應(yīng)對(duì)不同的平臺(tái)和不同的環(huán)境產(chǎn)生的各種不同的需求,也為了在具體的平臺(tái)或環(huán)境下達(dá)到最佳的效果,Apache在web服務(wù)器的基礎(chǔ)功能方面(端口綁定、接收請(qǐng)求等)也同樣采用了模塊化設(shè)計(jì),這個(gè)Apache的核心模塊就叫做多路處理模塊(Multi-Processing Module,簡(jiǎn)稱MPM)。

在Apace安裝目錄/conf/extra目錄中有一個(gè)名為httpd-mpm.conf的配置文件。該文件主要用于進(jìn)行MPM模塊的相關(guān)配置。不過(guò),在默認(rèn)情況下,Apache的MPM模塊配置文件并沒(méi)有啟用。因此,我們需要在httpd.conf文件中啟用該配置文件,如下所示:
如果我們想要知道某個(gè)Apache內(nèi)部使用的是何種MPM模塊,我們可以以命令行的方式進(jìn)入Apache安裝目錄in,然后鍵入命令httpd -l,即可查看到當(dāng)前Apache內(nèi)部使用的何種MPM模塊