nginx+php7-fpm 性能提升幾倍跟蹤實踐結果并優化
nginx+php7-fpm 性能提升幾倍,跟蹤實踐結果并優化
歷史ubuntu服務器使用的apache+php5,現在使用nginux+php7-fpm方式,看效果圖,啥也不說了。
強烈推薦升級到php7,當然升級中基本上沒碰到什么問題,
除了升到7.1有些問題,最后安裝的7.0版本。運行后,代碼基本上沒改動。
上圖運行一段時間后,內存占用低其實是不好的。需要對fpm進行優化,增加內存使用率。
php-fpm優化參數如下。
PHP-FPM 配置 & 優化
PHP-FPM子進程數量應該如何設置
pm = 生產環境 static
設置進程管理器如何管理子進程。可用值:static,ondemand,dynamic。必須設置。
static:子進程的數量是固定的(pm.max_children)。
ondemand:進程在有需求時才產生(當請求時,與 dynamic 相反,pm.start_servers 在服務啟動時即啟動。
dynamic:子進程的數量在下面配置的基礎上動態設置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers。
pm.max_children =
設置 PHP-FPM 進程池中最多能有多少個進程。這個沒有絕對正確值,要根據實際情況設置。
假設每個 PHP 進程使用 20-30M 內存,為整個 PHP-FPM 環境配置了 512 M 內存,那么可以設置為 17-25 中間值。
pm.start_servers =
設置啟動時創建的子進程數目。僅在 pm 設置為 dynamic 時使用。ps -ef | grep fpm ?可以看到啟動的數量
pm.min_spare_servers =
設置空閑服務進程的最低數目。僅在 pm 設置為 dynamic 時使用。必須設置。
pm.max_spare_servers =
設置空閑服務進程的最大數目。僅在 pm 設置為 dynamic 時使用。必須設置。
pm.max_requests = 1000
設置每個子進程重生之前服務的請求數。對于可能存在內存泄漏的第三方模塊來說是非常有用的。如果設置為 '0' 則一直接受請求,默認值:0。
slowlog =
慢請求的記錄日志
依4核8G的web服務器。這里的配置如下:
pm = dynamic
pm.max_children = 100
pm.start_servers = 60
pm.min_spare_servers = 30
pm.max_spare_servers = 100
pm.max_requests = 500
原文鏈接:https://www.ffeeii.com/533.html
nginx+php7-fpm 性能提升幾倍跟蹤實踐結果并優化相關教程