php fpm 程序管理的三種模式

2021-09-02 21:40:12 字數 642 閱讀 4234

php-fpm程序管理一共有三種模式:ondemand、static、dynamic

ondemand

在php-fpm啟動的時候,不會給這個pool啟動任何乙個worker,是按需啟動,當有連線過來才會啟動。

優缺點優點:按流量需求建立,不浪費系統資源(在硬體如此便宜的時代,這個優點略顯雞肋)

缺點:由於php-fpm是短連線的,所以每次請求都會先建立連線,建立連線的過程必然會觸發上圖的執行步驟,所以,在大流量的系統上master程序會變得繁忙,占用系統cpu資源,不適合大流量環境的部署

dynamic

在php-fpm啟動時,會初始啟動一些worker,在執行過程中動態調整worker數量,worker的數量受限於pm.max_children配置,同時受限全域性配置process.max

優缺點優點:動態擴容,不浪費系統資源,master程序設定的1秒定時器對系統的影響忽略不計;

缺點:如果所有worker都在工作,新的請求到來只能等待master在1秒定時器內再新建乙個worker,這時可能最長等待1s;

static

php-fpm啟動採用固定大小數量的worker,在執行期間也不會擴容,雖然也有1秒的定時器,僅限於統計一些狀態資訊,例如空閒worker個數,活動worker個數,網路連線佇列長度等資訊。

php fpm程序管理的三種模式

自 php fpm解讀 程序管理的三種模式 程式媛大麗 標明 以示尊重 感謝原作者的分享。php fpm程序管理一共有三種模式 ondemand static dynamic,我們可以在同乙個fpm的master配置三種模式,看下圖1。php fpm的工作模式和nginx類似,都是乙個master,...

php fpm三種執行模式

配置檔案 php fpm.conf 開啟慢日誌功能的 slowlog usr local var log php fpm.log.slow request slowlog timeout 5s 當某個請求的時間超過了5秒,就會在慢日誌中記錄相應的記錄,注意上面的時間5s,不能忽略了單位,相應的還有其...

程序的三種狀態

程序的三種基本狀態 1 就緒狀態 程序已獲得除cpu外的所有必要資源,只等待cpu時的狀態。乙個系統會將多個處於就緒狀態的程序排成乙個就緒佇列。2 執行狀態 程序已獲cpu,正在執行。單處理機系統中,處於執行狀態的程序只乙個 多處理機系統中,有多個處於執行狀態的程序。3 阻塞狀態 正在執行的程序由於...