Blog'a Dön

PHP-FPM Optimizasyon Rehberi: Havuz Ayarları (2026)

PHP-FPM performans ayarları: process manager modları (static/dynamic/ondemand), pm.max_children hesabı ve bellek optimizasyonu.

php-fpmphpperformansoptimizasyonprocess managernginx

PHP-FPM (FastCGI Process Manager), PHP uygulamalarını yüksek performansla çalıştıran bir işlem yöneticisidir. Doğru yapılandırılmadığında, ya sunucu belleğini tüketir ya da trafiği kaldıramaz. Bu rehberde PHP-FPM havuz ayarlarını optimize etmeyi ele alıyoruz.

PHP-FPM Nedir?

PHP-FPM, web sunucusundan (Nginx/Apache) gelen PHP isteklerini işleyen bir işçi (worker) havuzu yönetir. Her istek bir işçi tarafından ele alınır; işçi sayısı ve davranışı performansı doğrudan belirler.

Process Manager Modları

  • static: Sabit sayıda işçi. Öngörülebilir bellek kullanımı; yüksek ve stabil trafik için ideal.
  • dynamic: İşçi sayısı talebe göre bir aralıkta değişir. En yaygın ve dengeli seçenek.
  • ondemand: İşçiler yalnızca istek geldiğinde oluşturulur. Düşük trafikli, bellek kısıtlı sunucular için uygun.

pm.max_children Hesabı

En kritik ayar pm.max_children, aynı anda çalışabilecek maksimum işçi sayısıdır. Kaba bir hesap:

pm.max_children = (Kullanilabilir RAM) / (Ortalama PHP islem boyutu)

Örneğin 4 GB'ı PHP'ye ayırdıysanız ve her işlem ~80 MB tüketiyorsa, yaklaşık 50 işçi uygundur. Bu değeri aşmak, swap kullanımına ve yavaşlamaya yol açar.

İlgili Ayarlar

  • pm.start_servers — Başlangıçtaki işçi sayısı.
  • pm.min_spare_servers / pm.max_spare_servers — Boşta bekleyecek işçi aralığı.
  • pm.max_requests — Bir işçinin yeniden başlatılmadan önce işleyeceği istek sayısı (bellek sızıntılarını önler).

OPcache ile Birleştirin

PHP-FPM ayarlarını OPcache ile birlikte kullanın. OPcache, derlenmiş PHP kodunu bellekte tutarak her istekte yeniden derlemeyi önler ve performansı belirgin artırır.

İzleme

PHP-FPM'in durum sayfasını etkinleştirerek aktif işçi sayısını ve kuyruk uzunluğunu izleyin. Kuyruk sürekli doluyorsa pm.max_children yetersizdir; işçiler hep boştaysa değeri düşürüp bellek kazanabilirsiniz.

Sonuç

PHP-FPM optimizasyonu, sunucu belleği ile trafik kapasitesi arasında doğru dengeyi kurmaktır. Sunucunuzun RAM'ine göre hesaplanmış pm.max_children ve OPcache ile PHP uygulamalarınız hem hızlı hem de kararlı çalışır.

İlgili rehberler:

PHP uygulamaları için özel kaynaklı VDS Sunucu paketlerimizi inceleyin.