假設(shè)當(dāng)前負(fù)載較小,prefork 模式下的 apache 維持的最小空閑進(jìn)程數(shù)的處理能力完全能滿足請(qǐng)求量,也就是說這些進(jìn)程在沒有達(dá)到 MaxRequestsPerChild 時(shí)不會(huì)被回收銷毀。那么這些常住內(nèi)存的 php_mod 進(jìn)程是否等同于 php-fpm 里的常住內(nèi)存的 fast-cgi 進(jìn)程呢?他們持有資源是否相同?
我自己理解的 php 的 fast-cgi 進(jìn)程創(chuàng)建時(shí)載入 php解釋器,php.ini 和 各項(xiàng)依賴 創(chuàng)建好 php的執(zhí)行環(huán)境并持有,處理請(qǐng)求時(shí)只需重復(fù)的載入需要處理的 php 腳本即可。
那 apache 的 php_mod 都載入了什么?是同 php 的 fast-cgi 所持有的相同,還是說只是個(gè)引導(dǎo)模塊,請(qǐng)求到達(dá)時(shí)才會(huì)去載入 php解釋器,php.ini 和 各項(xiàng)依賴,即使 apache 沒有回收此進(jìn)程,它在處理完請(qǐng)求后也會(huì)釋放所持有的 php 的所有資源,下個(gè)請(qǐng)求到來時(shí)重新載入 php解釋器,php ini 和 各項(xiàng)依賴,只不過 apache 節(jié)省了創(chuàng)建進(jìn)程的開支,和 php 相關(guān)的東西都會(huì)被一次次的重新載入?
說了這么多,其實(shí)就一句話:php_mod 進(jìn)程有沒有預(yù)加載并持有 php執(zhí)行的環(huán)境,請(qǐng)求到達(dá)時(shí)只需要載入相應(yīng)的 php 腳本即可,還是說 php_mod 進(jìn)程每次都要重復(fù)的初始化 php 的執(zhí)行環(huán)境?
3 回答

慕斯王
TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊
根據(jù)實(shí)際測(cè)試,發(fā)現(xiàn)還是event的性能要比prefork來得好,相同請(qǐng)求下event的資源消耗比prefork少%20以上。
- 3 回答
- 0 關(guān)注
- 373 瀏覽
添加回答
舉報(bào)
0/150
提交
取消