php-fpm 進(jìn)程池優(yōu)化方法
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),臨潼企業(yè)網(wǎng)站建設(shè),臨潼品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨潼網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臨潼網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
php-fpm進(jìn)程池開啟進(jìn)程有兩種方式,一種是static,直接開啟指定數(shù)量的php-fpm進(jìn)程,不再增加或者減少;
另一種則是dynamic,開始時(shí)開啟一定數(shù)量的php-fpm進(jìn)程,當(dāng)請(qǐng)求量變大時(shí),動(dòng)態(tài)的增加php-fpm進(jìn)程數(shù)到上限,當(dāng)空閑時(shí)自動(dòng)釋放空閑的進(jìn)程數(shù)到一個(gè)下限。
這兩種不同的執(zhí)行方式,可以根據(jù)服務(wù)器的實(shí)際需求來進(jìn)行調(diào)整。
要用到的一些參數(shù),分別是pm、pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers。
pm表示使用那種方式,有兩個(gè)值可以選擇,就是static(靜態(tài))或者dynamic(動(dòng)態(tài))。
下面4個(gè)參數(shù)的意思分別為:
pm.max_children:靜態(tài)方式下開啟的php-fpm進(jìn)程數(shù)量,在動(dòng)態(tài)方式下他限定php-fpm的最大進(jìn)程數(shù)(這里要注意pm.max_spare_servers的值只能小于等于pm.max_children)
pm.start_servers:動(dòng)態(tài)方式下的起始php-fpm進(jìn)程數(shù)量。
pm.min_spare_servers:動(dòng)態(tài)方式空閑狀態(tài)下的最小php-fpm進(jìn)程數(shù)量。
pm.max_spare_servers:動(dòng)態(tài)方式空閑狀態(tài)下的最大php-fpm進(jìn)程數(shù)量。
如果dm設(shè)置為static,那么其實(shí)只有pm.max_children這個(gè)參數(shù)生效。系統(tǒng)會(huì)開啟參數(shù)設(shè)置數(shù)量的php-fpm進(jìn)程。
如果dm設(shè)置為dynamic,4個(gè)參數(shù)都生效。系統(tǒng)會(huì)在php-fpm運(yùn)行開始時(shí)啟動(dòng)pm.start_servers個(gè)php-fpm進(jìn)程,然后根據(jù)系統(tǒng)的需求動(dòng)態(tài)在pm.min_spare_servers和pm.max_spare_servers之間調(diào)整php-fpm進(jìn)程數(shù)。
PS.
pm.min_spare_servers、pm.max_spare_servers這2個(gè)參數(shù)一開始我以為是指空閑進(jìn)程,但是后來服務(wù)器給我報(bào)了一個(gè)錯(cuò)誤:
pm.start_servers(70) must not be less than pm.min_spare_servers(15) and not greater than pm.max_spare_servers(60)
要求pm.start_servers的值在pm.min_spare_servers和pm.max_spare_servers之間,經(jīng)過測(cè)試,得出上述結(jié)論。