Bii O ṣe le Dena PHP-FPM Lati Gbigba Pupọ Pupọ ni Linux


Ti o ba ti gbe LEMP kan (Linux, NGINX, MySQL/MariaDB, ati PHP), lẹhinna o ṣee ṣe lilo FastCGI ti o wa laarin NGINX (bi olupin HTTP), fun ṣiṣe PHP. PHP-FPM (adape kan ti Oluṣakoso ilana FastCGI) jẹ lilo jakejado ati imuse iṣẹ-giga PHP FastCGI miiran.

Eyi ni awọn itọsọna to wulo lori siseto LEMP Stack ni Linux.

    Bii a ṣe le fi sori ẹrọ LEMP Stack pẹlu PhpMyAdmin ni Ubuntu 20.04
  • Bii o ṣe le Fi Server Server LEMP sori CentOS 8
  • Bii o ṣe le Fi sori ẹrọ LEMP lori Debian 10 Server

Laipẹ, gbogbo awọn oju opo wẹẹbu PHP wa lori ọkan ninu awọn olupin wẹẹbu LEMP wa ni o lọra ati nikẹhin o da idahun ni gedu sinu olupin naa. a ṣe awari pe eto naa n lọ silẹ lori Ramu: PHP-FPM ti jẹ pupọ julọ ti Ramu, bi a ṣe tọka si sikirinifoto atẹle (awọn iwoye - irinṣẹ ibojuwo eto).

$ glances

Ninu nkan yii, a yoo fi han bi a ṣe le ṣe idiwọ PHP-FPM lati gba pupọ tabi gbogbo iranti eto rẹ (Ramu) ni Lainos. Ni opin itọsọna yii, iwọ yoo kọ bi o ṣe le dinku agbara iranti PHP-FPM nipasẹ 50% tabi diẹ sii.

Din Lilo PHP-FPM Lilo Memory

Lẹhin ṣiṣe diẹ ninu iwadi lori Intanẹẹti, a ṣe awari pe a nilo lati tunto oluṣakoso ilana PHP-FPM ati awọn aaye kan ninu rẹ lati dinku agbara iranti PHP-FPM ninu faili iṣeto adagun-odo.

Omi adagun aiyipada jẹ www ati faili iṣeto rẹ wa ni /etc/php-fpm.d/www.conf (lori CentOS/RHEL/Fedora) tabi /etc/php/7.4/fpm/pool.d/www.conf ( lori Ubuntu/Debian/Mint).

$ sudo vim /etc/php-fpm.d/www.conf             [On CentOS/RHEL/Fedora]
$ sudo vim /etc/php/7.4/fpm/pool.d/www.conf    [On Ubuntu/Debian/Mint]

Wa awọn itọsọna wọnyi ki o ṣeto iye wọn lati ba ọran ọran rẹ mu. Fun awọn itọsọna ti o ṣalaye jade, o nilo lati sọ wọn di mimọ.

pm = ondemand
pm.max_children = 80
pm.process_idle_timeout = 10s
pm.max_requests = 200

Jẹ ki a ṣalaye ni ṣoki awọn itọsọna loke ati awọn iye wọn. Ilana alẹ ṣe ipinnu bii oluṣakoso ilana yoo ṣakoso nọmba awọn ilana ọmọde. Ọna aiyipada jẹ agbara, eyiti o tumọ si nọmba awọn ọmọde (awọn ilana ọmọde) ti ṣeto ni agbara da lori diẹ ninu awọn itọsọna miiran pẹlu pm.max_children eyiti o ṣalaye nọmba to pọ julọ ti awọn ọmọde ti o le wa laaye ni akoko kanna.

Oluṣakoso ilana ti o dara julọ julọ ni eto ondemand nibiti ko si awọn ilana ọmọde ti o ṣẹda ni ibẹrẹ ṣugbọn o wa ni ibẹrẹ lori ibeere. Awọn ilana ọmọde nikan ni a forked nigbati awọn ibeere tuntun yoo sopọ da lori pm.max_children ati pm.process_idle_timeout eyiti o ṣalaye nọmba awọn aaya lẹhin eyi ti ilana pipaṣẹ yoo pa.

Ni ikẹhin ṣugbọn ko kere ju, a nilo lati ṣeto paramita pm.max_requests eyiti o ṣalaye nọmba awọn ibeere ti ilana ọmọde kọọkan yẹ ki o ṣe ṣaaju tun to sọtun. Akiyesi pe paramita yii tun le ṣee lo bi iṣẹ-ṣiṣe fun jijo iranti ni awọn ile-ikawe ẹgbẹ kẹta.

Itọkasi: Ọna ti o dara julọ lati ṣiṣe PHP-FPM.

Lẹhin ṣiṣe awọn atunto wọnyi loke, Mo ṣe akiyesi lilo Ramu ti dara bayi lori olupin wa. Ṣe o ni eyikeyi awọn ero lati pin ni ibatan si koko-ọrọ yii tabi awọn ibeere? De ọdọ wa nipasẹ fọọmu esi ni isalẹ.