搜尋
首頁後端開發PHP問題php一般開多少個行程

php一般開多少個行程

Sep 28, 2019 am 11:55 AM
php行程

php一般開多少個行程

首先,我們關注下 PHP-FPM 的運作方式:

static :表示在 `php-fpm` 运行时直接 `fork` 出 `pm.max_chindren` 个子进程,
 
dynamic:表示,运行时 `fork` 出 `start_servers` 个进程,随着负载的情况,动态的调整,最多不超过 `max_children` 个进程。

一般推薦用 static。

優點是不用動態的判斷負載情況,提升效能;

缺點是多佔用些系統記憶體資源。

PHP-FPM 子行程數量,是不是越多越好?

當然不是,pm.max_chindren,進程多了,增加進程管理的開銷以及上下文切換的開銷。更核心的是,能並發執行的 php-fpm 進程不會超過 cpu 個數。

如何設置,取決於你的程式碼

如果程式碼是 CPU 計算密集型的,pm.max_chindren 不能超過 CPU 的核心數。如果不是,那麼將 pm.max_chindren 的值大於 CPU 的核心數,是非常明智的。

公式:

在 N 20% 和 M / m 之間。

參數說明:

N 是 CPU 核心數。

M 是 PHP 能利用的記憶體數。

m 是每個 PHP 進程平均使用的記憶體數。

適用於 dynamic 方式。

static方式:M / (m * 1.2)

當然,還有一種保險的方式,來設定 max_children。適用於 static 方式。

1、先把 max_childnren 設定成一個比較大的值。

2、穩定運行一段時間後,觀察 php-fpm 的 status 裡的 max active processes 是多少

3、然後把 max_children 配置比它大一些就可以了。

pm.max_requests:指的是每個子程序在處理了多少個請求數量之後就重新啟動。這個參數,理論上可以隨便設置,但是為了預防記憶體洩漏的風險,還是設定一個合理的數比較好。

推薦影片教學:PHP影片教學

#

以上是php一般開多少個行程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。