亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PHP-FPM設(shè)置max_chindren、max_requests

hedge_hog / 3489人閱讀

摘要:首先,我們關(guān)注下的運(yùn)行方式模式始終保持一個固定數(shù)量的子進(jìn)程,這個數(shù)由定義,這種方式很不靈活,也通常不是默認(rèn)的。指的是每個子進(jìn)程在處理了多少個請求數(shù)量之后就重啟。

首先,我們關(guān)注下 PHP-FPM 的運(yùn)行方式:
pm = static模式:

始終保持一個固定數(shù)量的子進(jìn)程,這個數(shù)由pm.max_children定義,這種方式很不靈活,也通常不是默認(rèn)的。
優(yōu)點(diǎn)是不用動態(tài)的判斷負(fù)載情況,提升性能;缺點(diǎn)是多占用些系統(tǒng)內(nèi)存資源。在內(nèi)存足夠的前提下性能最強(qiáng)
用此模式每天需要設(shè)置固定時間重啟php
pm = dynamic模式:

啟動時,會產(chǎn)生固定數(shù)量的子進(jìn)程(由pm.start_servers控制)可以理解成最小子進(jìn)程數(shù),而最大子進(jìn)程數(shù)則由pm.max_children去控制,OK,這樣的話,子進(jìn)程數(shù)會在最大和最小數(shù)范圍中變化,還沒有完,閑置的子進(jìn)程數(shù)還可以由另2個配置控制,分別是pm.min_spare_servers和pm.max_spare_servers,也就是閑置的子進(jìn)程也可以有最小和最大的數(shù)目,而如果閑置的子進(jìn)程超出了pm.max_spare_servers,則會被殺掉。
pm = ondemand模式:

這種模式和pm = dynamic相反,把內(nèi)存放在第一位,他的工作模式很簡單,每個閑置進(jìn)程,在持續(xù)閑置了pm.process_idle_timeout秒后就會被殺掉,有了這個模式,到了服務(wù)器低峰期內(nèi)存自然會降下來,如果服務(wù)器長時間沒有請求,就只會有一個php-fpm主進(jìn)程,當(dāng)然弊端是,遇到高峰期或者如果pm.process_idle_timeout的值太短的話,無法避免服務(wù)器頻繁創(chuàng)建進(jìn)程的問題,因此pm = dynamic和pm = ondemand誰更適合視實(shí)際情況而定。
PHP-FPM 子進(jìn)程數(shù)量,是不是越多越好?

當(dāng)然不是,pm.max_chindren,進(jìn)程多了,增加進(jìn)程管理的開銷以及上下文切換的開銷。

更核心的是,能并發(fā)執(zhí)行的 php-fpm 進(jìn)程不會超過 cpu 個數(shù)。

如何設(shè)置,取決于你的代碼

如果代碼是 CPU 計算密集型的,pm.max_chindren 不能超過 CPU 的內(nèi)核數(shù)。
如果不是,那么將 pm.max_chindren 的值大于 CPU 的內(nèi)核數(shù),是非常明智的。
國外技術(shù)大拿給出這么個公式:

在 N + 20% 和 M/m 之間。

N 是 CPU 內(nèi)核數(shù)量。
M 是 PHP 能利用的內(nèi)存數(shù)量。
m 是每個 PHP 進(jìn)程平均使用的內(nèi)存數(shù)量。
適用于 dynamic 方式。

static方式:M/(m * 1.2)

當(dāng)然,還有一種保險的方式,來配置 max_children。適用于 static 方式。

先把 max_childnren 設(shè)置成一個比較大的值。
穩(wěn)定運(yùn)行一段時間后,觀察 php-fpm 的 status 里的 max
active processes 是多少
然后把 max_children 配置比它大一些就可以了。
pm.max_requests:指的是每個子進(jìn)程在處理了多少個請求數(shù)量之后就重啟。

這個參數(shù),理論上可以隨便設(shè)置,但是為了預(yù)防內(nèi)存泄漏的風(fēng)險,還是設(shè)置一個合理的數(shù)比較好

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/29191.html

相關(guān)文章

  • PHP-FPM設(shè)置max_chindren、max_requests

    摘要:首先,我們關(guān)注下的運(yùn)行方式模式始終保持一個固定數(shù)量的子進(jìn)程,這個數(shù)由定義,這種方式很不靈活,也通常不是默認(rèn)的。指的是每個子進(jìn)程在處理了多少個請求數(shù)量之后就重啟。 首先,我們關(guān)注下 PHP-FPM 的運(yùn)行方式:pm = static模式: 始終保持一個固定數(shù)量的子進(jìn)程,這個數(shù)由pm.max_children定義,這種方式很不靈活,也通常不是默認(rèn)的。優(yōu)點(diǎn)是不用動態(tài)的判斷負(fù)載情況,提升性能;...

    ermaoL 評論0 收藏0
  • PHP-FPM 配置 & 優(yōu)化

    摘要:是用于管理進(jìn)程池的軟件,用于接收和處理服務(wù)器的請求。這個兩個設(shè)置默認(rèn)是關(guān)閉的,建議開啟,進(jìn)程池配置中有一個的區(qū)域,意為進(jìn)程池,通常建議一個應(yīng)用使用一個進(jìn)程池。配置文件有默認(rèn)名為的配置內(nèi)容。總結(jié)沒有固定的配置,要根據(jù)實(shí)際情況設(shè)置。 PHP-FPM 是用于管理 PHP 進(jìn)程池的軟件,用于接收和處理 Web 服務(wù)器的請求。PHP-FPM 會創(chuàng)建一個主進(jìn)程,控制何時以及如何把 HTTP 請求轉(zhuǎn)...

    lookSomeone 評論0 收藏0
  • php-fpm的配置和優(yōu)化

    摘要:等平臺平臺由于我開發(fā)以為主,所以就用的環(huán)境配置來學(xué)習(xí)。啟動進(jìn)程的用戶和用戶組,進(jìn)程運(yùn)行的用戶必須要設(shè)置。模式模式,表示啟動進(jìn)程是動態(tài)分配的,隨著請求量動態(tài)變化的。 centos等linux平臺 /usr/local/php/php /usr/local/php/etc/php.ini /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-...

    AZmake 評論0 收藏0
  • php-fpm的配置和優(yōu)化

    摘要:等平臺平臺由于我開發(fā)以為主,所以就用的環(huán)境配置來學(xué)習(xí)。啟動進(jìn)程的用戶和用戶組,進(jìn)程運(yùn)行的用戶必須要設(shè)置。模式模式,表示啟動進(jìn)程是動態(tài)分配的,隨著請求量動態(tài)變化的。 centos等linux平臺 /usr/local/php/php /usr/local/php/etc/php.ini /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-...

    MarvinZhang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<