首先,我們關注下 php-fpm 的執行方式:
static :表示在 `php-fpm` 執行時直接 `fork` 出 `pm.max_chindren` 個子程序,
dynamic:表示,執行時 `fork` 出 `start_servers` 個程序,隨著負載的情況,動態的調整,最多不超過 `max_children` 個程序。
一般推薦用static
。
php-fpm
子程序數量,是不是越多越好?
當然不是,pm.max_chindren
,程序多了,增加程序管理的開銷以及上下文切換的開銷。
更核心的是,能併發執行的php-fpm
程序不會超過cpu
個數。
如何設定,取決於你的**
國外技術大拿給出這麼個公式:
在n + 20%
和m / m
之間。
n 是 cpu 核心數量。適用於m 是 php 能利用的記憶體數量。
m 是每個 php 程序平均使用的記憶體數量。
dynamic
方式。
static
方式:m / (m * 1.2)
當然,還有一種保險的方式,來配置max_children
。適用於static
方式。
pm.max_requests
:指的是每個子程序在處理了多少個請求數量之後就重啟。
這個引數,理論上可以隨便設定,但是為了預防記憶體洩漏的風險,還是設定乙個合理的數比較好。
PHP FPM子程序數量應該如何設定?
首先,我們關注下 php fpm 的執行方式 static 表示在 php fpm 執行時直接 fork 出 pm.max chindren 個子程序,dynamic 表示,執行時 fork 出 start servers 個程序,隨著負載的情況,動態的調整,最多不超過 max children 個...
PHP FPM子程序數量設定
1 php fpm優化引數介紹 他們分別是 pm pm.max children pm.start servers pm.min spare servers pm.max spare servers。pm 表示使用那種方式,有兩個值可以選擇,就是static 靜態 或者dynamic 動態 在更老一...
如何檢視程序使用的執行緒數量?
如何檢視當前程序有多少個存活執行緒呢?方法1 pstree p 4761 程序id 如下截圖所示 方法2 cat proc 4761 程序id status。如下圖所示 方法3 top p 4761 程序id 然後按h。如下圖所示 指令碼解釋 比如某台伺服器的cpu使用率飆公升,通過top命令檢視是...