LIONFIN

Sözlük

PHP-FPM nedir?

PHP FastCGI Process Manager

Diğer adları: fastcgi process manager, php fpm, fpm havuzu

Tanım

PHP-FPM (PHP FastCGI Process Manager), PHP betiklerini web sunucusundan ayrı, önceden başlatılmış işçi işlemlerden oluşan havuzlarda çalıştıran FastCGI uygulamasıdır. Nginx, Apache ve diğer web sunucuları PHP isteklerini FastCGI protokolüyle PHP-FPM’e iletir; her site için ayrı havuz, kullanıcı ve kaynak sınırı tanımlanabilir.

PHP-FPM havuzu nasıl yapılandırılır?

PHP-FPM havuzları, işçi işlemlerin sayısını ve davranışını belirleyen pm ayarlarıyla yapılandırılır. Ubuntu’da havuz dosyaları /etc/php/8.3/fpm/pool.d/ altında bulunur (sürüm numarası kuruluma göre değişir):

[ornek]
user = ornek
group = ornek
listen = /run/php/php8.3-fpm-ornek.sock
pm = dynamic
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
pm.max_requests = 500

pm üç değer alır: static (sabit sayıda işlem), dynamic (alt ve üst sınır arasında esnek) ve ondemand (yalnızca istek gelince işlem başlatır; düşük trafikli siteler için bellek tasarrufu sağlar).

pm.max_children değeri nasıl belirlenir?

pm.max_children, aynı anda çalışabilecek PHP işlemi sayısıdır ve kabaca PHP’ye ayırdığınız belleğin bir işlemin ortalama bellek kullanımına bölünmesiyle hesaplanır. Örneğin PHP için ayrılan bellek 2 GB ve işlem başına ortalama tüketim 80 MB ise üst sınır yaklaşık 25 olur. Değer çok düşükse ziyaretçiler kuyrukta bekler ve günlüklerde server reached pm.max_children uyarısı görülür; çok yüksekse sunucu belleği tükenip swap kullanmaya başlar. Ortalama tüketimi ps ya da top ile ölçebilirsiniz. Nginx ile kurulumu LEMP stack rehberi, PHP bellek sınırını PHP memory_limit artırma rehberi anlatır. Kendi havuz ayarlarınızı yapmak için VPS gibi tam yetkili bir sunucu gerekir.

İlgili terimler

Apache
Apache (Apache HTTP Server), Apache Software Foundation tarafından geliştirilen, modüler yapısıyla bilinen açık kaynaklı web sunucusudur. İs...
LiteSpeed
LiteSpeed (LiteSpeed Web Server), LiteSpeed Technologies tarafından geliştirilen, olay tabanlı mimarisiyle yüksek eşzamanlı bağlantıyı düşük...
Nginx
Nginx (“engine-x” okunur), olay tabanlı mimarisiyle çok sayıda eşzamanlı bağlantıyı düşük bellekle işleyen açık kaynaklı web sunucusu, ters...
RAM
RAM (Random Access Memory), işlemcinin çalışan programlar ve kullandıkları veriler için başvurduğu, yüksek hızlı ve geçici çalışma belleğidi...

← Tüm terimler