進程pm配置:
php
php-fpm子進程設置不當容易形成服務器502,通常都是子程序超臨界值,致使部分請求異常。服務器
php-fpm子進程有三種模式:併發
static 靜態模式,啓動時開啓固定子進程。
ide
受影響參數:高併發
pm.max_children 指定要建立的子進程數。
php-fpm
說明:此模式子進程開銷固定,適用於請求量浮動不大的場合。spa
dynamic 動態模式,啓動時開啓固定最小子進程。
日誌
受影響參數:server
pm.max_children 指定最大子進程數。
進程
pm.start_servers 指定啓動時開啓的子進程數,默認值=min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.min_spare_servers 容許最小空閒子進程數,若是空閒子進程小於則自動建立。
pm.max_spare_servers 容許最大空閒子進程數,若是空閒子進程大於則殺掉。
說明:此模式下子進程處理完請求後並未馬上釋放,方便快速處理下一個請求,合理設置空閒子程序有助於快速響應,過大的空閒子進程容易形成內存等資源浪費。此模式下進程數=空閒進程+處理進程。
ondemand 按需模式,啓動時不建立子進程,按請求自動增長子進程。
受影響參數:
pm.max_children 指定最大子進程數。
pm.process_idle_timeout 指定空閒進程最多存活時間,默認值10s。
說明:此模式下子進程根據請求量自動增長,並對全部空閒子程序設置存活時間,此模式比較節省資源,但同時高併發請求時建立子程序會影響響應速度。
日誌配置:
access.log 指定訪問日誌文件,默認不寫訪問日誌。
slowlog 指定慢請求日誌文件,默認不寫日誌,開啓此日誌方便找出系統請求過慢的代碼。
request_slowlog_timeout 指定慢請求時間對比值,默認爲0則無慢請求。
request_terminate_timeout 指定請求過慢殺死的時間對比值,默認爲0則無過慢殺死。