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 阻塞狀態 正在執行的程序由於...