Aynı sunucu üzerinde birden fazla web sitesi bulunuyorsa, her sitenin PHP yükü birbirinden farklı olur. Trafiği yoğun olan siteler daha fazla worker’a ihtiyaç duyarken, basit tanıtım siteleri düşük kaynakla sorunsuz çalışabilir. PHP-FPM her domain için ayrı bir havuz oluşturduğu için bu sınırların domain bazında belirlenmesi performansı doğrudan etkiler.
Aynı sunucuda trafik miktarı birbirinden tamamen farklı seviyelerde olan siteler yer alabilir. Bir e-ticaret sitesi saniyede onlarca isteği işlerken bir blog çok daha hafif çalışabilir. Bu sitelere aynı pm.max_children değeri ya da aynı memory limiti verildiğinde, bazıları gereksiz RAM tüketirken diğerleri yük altında 503 veya 504 hataları üretmeye başlayabilir.
Plesk’te PHP-FPM Modunu Nasıl Kontrol Ederiz?
Ayar yapmadan önce domenin PHP-FPM modunda çalıştığından emin olalım. Bu bilgiyi Plesk panelindeki Tools & Settings → PHP Settings ekranından aktif PHP handler seçeneğini kontrol ederek görebilirsiniz. Ardından düzenleme yapılacak domaini açalım.
Domains → Domain → PHP Settings bölümüne geçelim. Run PHP as kısmında FPM seçili değilse, modu FPM application served by Apache/Nginx olarak değiştirmek domain için FPM havuzunu devreye alır.

Aktif PHP-FPM servislerini listeleyelim
systemctl | grep fpmPlesk üzerindeki FPM havuzlarını doğrulayalım
plesk bin php_handler --list | grep fpmBelirli bir PHP-FPM servisinin durumunu kontrol edelim
systemctl status plesk-php80-fpm.servicePlesk Panelde Domain Bazlı PHP-FPM Limitleri Nelerdir?
Domain için PHP-FPM ayarlarının yer aldığı kısımda ihtiyacımız olan tüm parametreler görünür.
- pm modu sitenin süreç yönetimini belirler
- pm.max_children domainin aynı anda açabileceği maksimum PHP işlemi
- pm.max_requests bir sürecin yeniden başlatılmadan çalıştıracağı istek sayısı
- start_servers, min_spare_servers, max_spare_servers dynamic mod için süreç yönetimi
- memory_limit, max_execution_time, max_input_vars PHP’nin domain bazındaki temel sınırları
Bu değerler yalnızca ilgili domain için geçerlidir. Aynı sunucudaki diğer alan adlarını etkilemez.
Plesk’te Her Domain İçin PHP-FPM Limitleri
pm.max_children Değerinin Ayarlanması
FPM ayarlarının yer aldığı alt bölüme geçelim. Buradan “pm” modunu seçelim. Dynamic veya ondemand modları arasından siteye en uygun yapıyı belirleyebiliriz. Ardından pm.max_children değerini sitenin ihtiyaçlarına göre düzenleyelim.
Dynamic Mod İçin Ek Değerlerin Güncellenmesi
Eğer Dynamic mod seçildiyse start_servers, min_spare_servers ve max_spare_servers değerlerini de trafikteki yoğunluğa uygun şekilde güncelleyebiliriz.
PHP Limitlerinin Düzenlenmesi
PHP’nin alan adı bazındaki limitleri olan memory_limit, max_execution_time ve max_input_time değerlerini ayarladıktan sonra değişiklikleri kaydedelim.
Bazı Plesk sürümlerinde yapılan değişiklikler anında geçerli olur. Ancak bazı durumlarda ilgili PHP-FPM servisinin yeniden yüklenmesi gerekebilir. Bu işlem SSH üzerinden yapılabilir. XX kısmına site için kullanılan PHP sürümü yazılır.
service plesk-phpXX-fpm restartİzleme ve Hata Ayıklama
Domain Log Dosyalarını Kontrol Edelim
Yapılandırmanın doğru çalışıp çalışmadığını anlamak için ilgili domainin log dosyalarını inceleyelim.
/var/www/vhosts/system/domain/logs/PHP-FPM Servis Loglarını Kontrol Edelim
FPM’e bağlı hataları izlemek için PHP sürümüne göre log dizinini kontrol edelim.
/var/log/plesk-phpXX-fpm/Hata ve Log Kayıtları Ne İfade Ediyor?
Loglarda görülen bazı mesajlar mevcut ayarların yetersiz veya gereğinden fazla olduğunu gösterebilir:
- 503 Service Unavailable
PHP-FPM taleplere zamanında cevap veremiyor olabilir.

- upstream closed connection
PHP süreçleri bağlantıyı zamanında tamamlayamıyor; yetersiz worker olabilir. - server reached pm.max_children
Mevcut süreç sayısı maksimuma ulaşmış; pm.max_children düşük kalmış olabilir.
Sık Sorulan Sorular
503 hataları sürekli aynı dakikalarda oluşuyorsa neden böyledir?
Bu genelde cron görevleri, yedekleme zamanları veya API yoğunluğu gibi belirli periyotlarda artan yüklerin pm.max_children değerini doldurmasından kaynaklanır. Limit dolunca PHP-FPM isteklere yanıt veremez ve 503 hatası üretilir.
<code>server reached pm.max_children setting</code>Bu durumda domainin max_children ayarını yükseltmek veya cron zamanlamasını düzenlemek çözüm sağlar.
Nginx reverse proxy kullanılan yapılarda FPM limitleri neden daha kritik?
pm.max_children değeri yetersiz kaldığında PHP süreci kilitlenir ve Nginx tarafında upstream hatası ortaya çıkar.
<code>upstream prematurely closed connection while reading response header</code>Bu uyarı görünüyorsa önce domain bazındaki FPM limitlerine, ardından Nginx timeout değerlerine bakmak gerekir.
PHP-FPM havuzunun domain için açılıp açılmadığını nasıl doğrularım?
/etc/php-fpm.d/ ile/opt/plesk/php/*/etc/php-fpm.d/ dizinlerinde domain adına göre oluşturulmuş bir .conf dosyası olup olmadığını kontrol ederek FPM havuzunun aktifliğini doğrulayabilirsiniz.