亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

linux下的php-fpm參數配置介紹與參數優化說明

2024-05-05 00:01:19
字體:
來源:轉載
供稿:網友

php-fpm.conf重要參數詳解

pid = run/php-fpm.pid
#pid設置,默認在安裝目錄中的var/run/php-fpm.pid,建議開啟

error_log = log/php-fpm.log
#錯誤日志,默認在安裝目錄中的var/log/php-fpm.log

log_level = notice
#錯誤級別. 可用級別為: alert(必須立即處理), error(錯誤情況), warning(警告情況), notice(一般重要信息), debug(調試信息). 默認: notice.

emergency_restart_threshold = 60
emergency_restart_interval = 60s

#表示在emergency_restart_interval所設值內出現SIGSEGV或者SIGBUS錯誤的php-cgi進程數如果超過 emergency_restart_threshold個,php-fpm就會優雅重啟。這兩個選項一般保持默認值。

process_control_timeout = 0
#設置子進程接受主進程復用信號的超時時間. 可用單位: s(秒), m(分), h(小時), 或者 d(天) 默認單位: s(秒). 默認值: 0.

daemonize = yes
#后臺執行fpm,默認值為yes,如果為了調試可以改為no。在FPM中,可以使用不同的設置來運行多個進程池。 這些設置可以針對每個進程池單獨設置。

listen = 127.0.0.1:9000
#fpm監聽端口,即nginx中php處理的地址,一般默認值即可??捎酶袷綖? 'ip:port', 'port', '/path/to/unix/socket'. 每個進程池都需要設置.

listen.backlog = -1
#backlog數,-1表示無限制,由操作系統決定,此行注釋掉就行。

listen.allowed_clients = 127.0.0.1
#允許訪問FastCGI進程的IP,設置any為不限制IP,如果要設置其他主機的nginx也能訪問這臺FPM進程,listen處要設置成本地可被訪問的IP。默認值是any。每個地址是用逗號分隔. 如果沒有設置或者為空,則允許任何服務器請求連接

listen.owner = www
listen.group = www
listen.mode = 0666

#unix socket設置選項,如果使用tcp方式訪問,這里注釋即可。

user = www
group = www

#啟動進程的帳戶和組

pm = dynamic
#對于專用服務器,pm可以設置為static。
#如何控制子進程,選項有static和dynamic。如果選擇static,則由pm.max_children指定固定的子進程數。如果選擇dynamic,則由下開參數決定:
pm.max_children #,子進程最大數
pm.start_servers #,啟動時的進程數
pm.min_spare_servers #,保證空閑進程數最小值,如果空閑進程小于此值,則創建新的子進程
pm.max_spare_servers #,保證空閑進程數最大值,如果空閑進程大于此值,此進行清理

pm.max_requests = 1000
#設置每個子進程重生之前服務的請求數. 對于可能存在內存泄漏的第三方模塊來說是非常有用的. 如果設置為 '0' 則一直接受請求. 等同于 PHP_FCGI_MAX_REQUESTS 環境變量. 默認值: 0.

pm.status_path = /status
#FPM狀態頁面的網址. 如果沒有設置, 則無法訪問狀態頁面. 默認值: none. munin監控會使用到

ping.path = /ping
#FPM監控頁面的ping網址. 如果沒有設置, 則無法訪問ping頁面. 該頁面用于外部檢測FPM是否存活并且可以響應請求. 請注意必須以斜線開頭 (/)。

ping.response = pong
#用于定義ping請求的返回相應. 返回為 HTTP 200 的 text/plain 格式文本. 默認值: pong.

request_terminate_timeout = 0
#設置單個請求的超時中止時間. 該選項可能會對php.ini設置中的'max_execution_time'因為某些特殊原因沒有中止運行的腳本有用. 設置為 '0' 表示 'Off'.當經常出現502錯誤時可以嘗試更改此選項。

request_slowlog_timeout = 10s
#當一個請求該設置的超時時間后,就會將對應的PHP調用堆棧信息完整寫入到慢日志中. 設置為 '0' 表示 'Off'

slowlog = log/$pool.log.slow
#慢請求的記錄日志,配合request_slowlog_timeout使用

rlimit_files = 1024
#設置文件打開描述符的rlimit限制. 默認值: 系統定義值默認可打開句柄是1024,可使用 ulimit -n查看,ulimit -n 2048修改。

rlimit_core = 0
#設置核心rlimit最大限制值. 可用值: 'unlimited' 、0或者正整數. 默認值: 系統定義值.

chroot =
#啟動時的Chroot目錄. 所定義的目錄需要是絕對路徑. 如果沒有設置, 則chroot不被使用.

chdir =
#設置啟動目錄,啟動時會自動Chdir到該目錄. 所定義的目錄需要是絕對路徑. 默認值: 當前目錄,或者/目錄(chroot時)

catch_workers_output = yes
#重定向運行過程中的stdout和stderr到主要的錯誤日志文件中. 如果沒有設置, stdout 和 stderr 將會根據FastCGI的規則被重定向到 /dev/null . 默認值: 空.

 

php-fpm參數調優

pm = dynamic;

表示使用哪種進程數量管理方式

dynamic表示php-fpm進程數是動態的,最開始是pm.start_servers指定的數量,如果請求較多,則會自動增加,保證空閑的進程數不小于pm.min_spare_servers,如果進程數較多,也會進行相應清理,保證多余的進程數不多于pm.max_spare_servers

static表示php-fpm進程數是靜態的, 進程數自始至終都是pm.max_children指定的數量,不再增加或減少

pm.max_children = 300; 靜態方式下開啟的php-fpm進程數量
pm.start_servers = 20; 動態方式下的起始php-fpm進程數量
pm.min_spare_servers = 5; 動態方式下的最小php-fpm進程數量
pm.max_spare_servers = 35; 動態方式下的最大php-fpm進程數量

如果pm為static, 那么其實只有pm.max_children這個參數生效。系統會開啟設置數量的php-fpm進程

如果pm為dynamic, 那么pm.max_children參數失效,后面3個參數生效。系統會在php-fpm運行開始的時候啟動pm.start_servers個php-fpm進程,然后根據系統的需求動態在pm.min_spare_servers和pm.max_spare_servers之間調整php-fpm進程數

那么,對于我們的服務器,選擇哪種pm方式比較好呢?事實上,跟Apache一樣,運行的PHP程序在執行完成后,或多或少會有內存泄露的問題。這也是為什么開始的時候一個php-fpm進程只占用3M左右內存,運行一段時間后就會上升到20-30M的原因了。

對于內存大的服務器(比如8G以上)來說,指定靜態的max_children實際上更為妥當,因為這樣不需要進行額外的進程數目控制,會提高效率。因為頻繁開關php-fpm進程也會有時滯,所以內存夠大的情況下開靜態效果會更好。數量也可以根據 內存/30M 得到,比如8GB內存可以設置為100,那么php-fpm耗費的內存就能控制在 2G-3G的樣子。如果內存稍微小點,比如1G,那么指定靜態的進程數量更加有利于服務器的穩定。這樣可以保證php-fpm只獲取夠用的內存,將不多的內存分配給其他應用去使用,會使系統的運行更加暢通。

對于小內存的服務器來說,比如256M內存的VPS,即使按照一個20M的內存量來算,10個php-cgi進程就將耗掉200M內存,那系統的崩潰就應該很正常了。因此應該盡量地控制php-fpm進程的數量,大體明確其他應用占用的內存后,給它指定一個靜態的小數量,會讓系統更加平穩一些?;蛘呤褂脛討B方式,因為動態方式會結束掉多余的進程,可以回收釋放一些內存,所以推薦在內存較少的服務器或VPS上使用。具體最大數量根據 內存/20M 得到。比如說512M的VPS,建議pm.max_spare_servers設置為20。至于pm.min_spare_servers,則建議根據服務器的負載情況來設置,比較合適的值在5~10之間。

在4G內存的服務器上200就可以(我的1G測試機,開64個是最好的,建議使用壓力測試獲取最佳值)

pm.max_requests = 10240;

nginx php-fpm配置過程中最大問題是內泄漏出問題:服務器的負載不大,但是內存占用迅速增加,很快吃掉內存接著開始吃交換分區,系統很快掛掉!其實根據官方的介紹,php-cgi不存在內存泄漏,每個請求完成后php-cgi會回收內存,但是不會釋放給操作系統,這樣就會導致大量內存被php-cgi占用。

官方的解決辦法是降低PHP_FCGI_MAX_REQUESTS的值,如果用的是php-fpm,對應的php-fpm.conf中的就是max_requests,該值的意思是發送多少個請求后會重啟該線程,我們需要適當降低這個值,用以讓php-fpm自動的釋放內存,不是大部分網上說的51200等等,實際上還有另一個跟它有關聯的值max_children,這個是每次php-fpm會建立多少個進程,這樣實際上的內存消耗是max_children*max_requests*每個請求使用內存,根據這個我們可以預估一下內存的使用情況,就不用再寫腳本去kill了。

request_terminate_timeout = 30;

最大執行時間, 在php.ini中也可以進行配置(max_execution_time)

request_slowlog_timeout = 2; 開啟慢日志
slowlog = log/$pool.log.slow; 慢日志路徑

rlimit_files = 1024; 增加php-fpm打開文件描述符的限制

php-fpm.conf的參數明說大家只要多看幾遍應該就可能記住了,至于 php-fpm性能方案應該根據實際情況而定,多測試幾次得出最佳配置方案


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久久久久久久久久| 欧美性少妇18aaaa视频| 国产精品视频永久免费播放| 91精品在线播放| 欧美乱大交xxxxx| 欧美成人国产va精品日本一级| 最近2019年日本中文免费字幕| 日韩av电影在线网| 精品视频一区在线视频| 欧美xxxx做受欧美| 国产亚洲欧洲高清| 精品久久在线播放| 两个人的视频www国产精品| 亚洲在线观看视频网站| 亚洲一区二区黄| 精品亚洲一区二区三区在线观看| 久久精品中文字幕| 91精品视频一区| 成人有码视频在线播放| 日韩中文在线观看| 欧美精品www在线观看| 欧美日韩国产精品专区| 91国内免费在线视频| 欧美日韩亚洲国产一区| 久久亚洲电影天堂| 久久69精品久久久久久国产越南| 热99在线视频| 国产色综合天天综合网| 欧美做受高潮电影o| 日本免费一区二区三区视频观看| 国产精品户外野外| 亚洲精品99久久久久中文字幕| 国产精品观看在线亚洲人成网| 亚洲欧美视频在线| 亚洲天堂第一页| 久久视频在线视频| 久久久久久久久久久国产| 欧美日韩国产二区| 日本久久久久久久久久久| 午夜精品久久久久久久99热| 精品久久久久久久久久久久久久| 成人性教育视频在线观看| 奇米一区二区三区四区久久| 九九热99久久久国产盗摄| 热re91久久精品国99热蜜臀| 亚洲a中文字幕| 日韩欧美在线字幕| 亚洲第一精品福利| 久久躁狠狠躁夜夜爽| 91在线中文字幕| 亚洲精品www久久久| 日韩电影在线观看免费| 国产精品欧美日韩一区二区| 米奇精品一区二区三区在线观看| 日韩国产一区三区| 国产婷婷97碰碰久久人人蜜臀| 欧美激情在线观看视频| 亚洲天堂成人在线视频| 91在线国产电影| 日韩av一区二区在线观看| 亚洲欧美另类人妖| 粉嫩av一区二区三区免费野| 91日本在线视频| 日韩av在线网| 久久成人这里只有精品| 日韩欧美在线视频免费观看| 韩国一区二区电影| 粗暴蹂躏中文一区二区三区| 亚洲图片欧美日产| 亚洲社区在线观看| 国产美女被下药99| 日本成人在线视频网址| 亚洲午夜av久久乱码| 88国产精品欧美一区二区三区| 91国自产精品中文字幕亚洲| 78m国产成人精品视频| 欧美激情在线观看| 午夜精品一区二区三区在线视频| 992tv成人免费影院| 欧美二区在线播放| 国产精品老女人视频| 久久久亚洲欧洲日产国码aⅴ| 91免费精品视频| 日韩在线观看免费全| 欧美激情奇米色| 亚洲色图av在线| 亚洲成人黄色在线观看| 亚洲欧美综合v| 成人精品一区二区三区| 欧美一区二粉嫩精品国产一线天| 中文字幕国产亚洲| 欧美性猛交xxxx乱大交| 欧美成年人在线观看| 久久精品视频在线播放| 久久久91精品| 久久成人精品一区二区三区| 高潮白浆女日韩av免费看| 51久久精品夜色国产麻豆| 日本午夜在线亚洲.国产| 97国产一区二区精品久久呦| 亚洲aaa激情| 欧美亚洲日本网站| 久久久久国产一区二区三区| 在线亚洲午夜片av大片| 亚洲国产美女久久久久| 亚洲欧美日韩精品久久奇米色影视| 毛片精品免费在线观看| zzjj国产精品一区二区| 亚洲成人av片| 成人激情视频小说免费下载| 国产亚洲精品久久久久久| 日韩中文字幕网址| 成人在线小视频| 2019最新中文字幕| 国产日韩综合一区二区性色av| 亚洲国产天堂网精品网站| 日韩中文字幕久久| 日韩欧美aⅴ综合网站发布| 91人成网站www| 秋霞成人午夜鲁丝一区二区三区| 91情侣偷在线精品国产| 亚洲视频欧洲视频| 992tv成人免费影院| 亚洲黄色av网站| 欧美中文字幕在线| 九九热精品视频| 亚洲黄在线观看| 国产欧美婷婷中文| 亚洲va国产va天堂va久久| 久久久中文字幕| 亚洲精品ady| 亚洲美女动态图120秒| 国产成人精品久久亚洲高清不卡| 国产精品最新在线观看| 免费成人高清视频| 一区二区三欧美| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品98久久久久久中文字幕| 欧美xxxx18性欧美| 亚洲精品日韩激情在线电影| 91高清视频免费观看| 国产91免费观看| 亚洲一区二区日本| 久久在线精品视频| 性视频1819p久久| 日韩免费在线视频| 福利一区视频在线观看| 欧美成人免费小视频| 欧美富婆性猛交| 91av在线免费观看| 一区二区在线视频播放| 欧美高清在线视频观看不卡| 久久久久久一区二区三区| 国产精品va在线播放我和闺蜜| 欧美视频第一页| x99av成人免费| 国产999在线观看| 成人免费在线视频网址| 在线午夜精品自拍| 国产成人av在线播放| 成人h视频在线观看播放| 成人高清视频观看www| 欧美国产日韩在线| 日韩亚洲一区二区|