關於PHP FPM的backlog的預設值

2022-04-02 16:43:15 字數 915 閱讀 2278

有高併發的業務,就必須要調整backlog。對於php而言,需要注意的有3方面:

1、作業系統 | sysctl

2、web前端 | 比如:nginx

3、php後台 | 比如:php-fpm

作業系統以centos為例,可通過預設配置 /etc/sysctl.conf 檔案進行調整。比如:

net.core.somaxconn = 1048576 # 預設為128

net.core.netdev_max_backlog = 1048576 # 預設為1000

net.ipv4.tcp_max_syn_backlog = 1048576 # 預設為1024

web前端以nginx為例,可通過預設配置 /etc/nginx/nginx.conf 檔案中的監聽選項來調整。比如:

listen       80 backlog=8192; # 預設為511

php後台,以php-fpm為例,可以通過預設配置 /etc/php-fpm.d/www.conf 檔案進行調整。比如:

listen.backlog = 8192 # 預設為-1(由系統決定)

大系統下,如上3處都應該進行調整。

值得注意的是:

php-fpm的配置檔案中,關於listen.backlog選項的注釋有些誤導人:

; set listen(2) backlog. a value of '-1' means unlimited.

; default value: -1

實際上如果使用預設值,很容易出現後端無法連線的問題,按老文件上的解釋這個預設是200。建議此處不要留空,務必設定乙個合適的值。

php fpm的重啟 關閉

php 5.3.3 下的php fpm 不再支援 php fpm 以前具有的 usr local php sbin php fpm start stop reload 等命令,需要使用訊號控制 master程序可以理解以下訊號 int,term 立刻終止 quit 平滑終止 usr1 重新開啟日誌檔...

php fpm的重啟 關閉

php 5.3.3 下的php fpm 不再支援 php fpm 以前具有的 usr local php sbin php fpm start stop reload 等命令,需要使用訊號控制 master程序可以理解以下訊號 int,term 立刻終止 quit 平滑終止 usr1 重新開啟日誌檔...

PHP FPM的常用操作

php fpm安裝完畢之後,沒有自帶的結束命令,可以通過以下方法結束 1 首先檢視php fpm程序號 可以看到master程序號為91790,有兩個子程序,所以當父程序結束時,子程序也隨之結束,使用以下命令結束 kill 91791 kill掉之後,php fpm就結束了,然後配置好之後,啟動即可...