Bir sunucu üzerinde çok sayıda web sitesi çalışıyorsa, her sitenin PHP yoğunluğu birbirinden farklı olacaktır. Trafiği fazla siteler daha çok worker isterken, küçük tanıtım siteleri düşük kaynakla da stabil şekilde çalışır. PHP-FPM her domain için ayrı bir havuz oluşturduğu için bu limitlerin domain bazında ayarlanması performansı doğrudan etkiler.
Aynı sunucuda trafiği tamamen farklı seviyelerde olan siteler yer alabilir. Örneğin bir e-ticaret sitesi saniye başına onlarca isteği işlerken blog siteleri çok daha hafif yük üretir. Tüm bu sitelere aynı pm.max_children veya memory limitini verdiğinizde bazıları gereksiz RAM tüketirken bazıları yoğunlukta 503-504 hataları üretebilir.
Plesk Panelde PHP-FPM Modu Nasıl Doğrulanır?
Ayarları yapmadan önce domainin PHP-FPM modunda çalıştığını doğrulayalım. Bunun için Plesk panelindeki Tools & Settings → PHP Settings alanından aktif PHP handler bilgisini inceleyebilirsiniz. Sonrasında ayar uygulayacağınız domaine girelim.
Domains → Domain → PHP Settings adımlarını izleyin. Run PHP as kısmı FPM değilse modu FPM application served by Apache/Nginx olarak değiştirmek, domain için FPM havuzunu aktif hâle getirir.

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.serviceDomain Bazlı PHP-FPM Limit Alanları
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 Panel Üzerinden Alan Adı Özelinde PHP-FPM Limitleri
pm.max_children Değerinin Ayarlanması
FPM ayarlarının bulunduğu alt bölüme geçelim. Burada “pm” modunu seçelim. Dynamic veya ondemand arasında seçim yaparak siteye uygun bir yapı belirleyebiliriz. Daha sonra pm.max_children değerini sitenin ihtiyacına göre düzenleyelim.
Dynamic Mod İçin Ek Değerlerin Güncellenmesi
Dynamic mod seçiliyse start_servers, min_spare_servers ve max_spare_servers değerlerini de trafiğe uygun şekilde güncelleyebiliriz.
PHP Limitlerinin Düzenlenmesi
PHP’nin domain bazlı sınırları olan memory_limit, max_execution_time ve max_input_time değerlerini düzenledikten sonra ayarları kaydedelim.
Bazı Plesk sürümlerinde değişiklikler anında aktif olur. Bazı durumlarda ilgili PHP-FPM servisinin yeniden yüklenmesi gerekebilir. Bu işlem SSH üzerinden yapılabilir. XX yerine 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/Loglarda Görülen Uyarılar ve Hatalar Ne Anlama Geliyor?
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ı hep aynı dakikalarda ortaya çıkıyorsa sebep ne olabilir?
Bu durum çoğunlukla cron job, yedekleme işleri veya belirli aralıklarla çalışan API işlemleri gibi periyodik yük artışlarından kaynaklanır. Bu yüklenme anlarında pm.max_children değeri tıkanır ve 503 hatası görünür.
<code>server reached pm.max_children setting</code>Bu senaryoda domain için tanımlanan max_children değerini bir miktar artırmak veya cron zamanlamasını daha sakin bir saate kaydırmak sorunu çözer.
Nginx reverse proxy kullanılan sitelerde FPM limitleri neden daha kritik?
pm.max_children değeri düşük kaldığında PHP tarafı sıkışır ve Nginx upstream katmanında hata üretir.
<code>upstream prematurely closed connection while reading response header</code>Bu hata görüldüğünde ilk kontrol edilmesi gereken domainin FPM limitleridir. Ardından Nginx’in timeout değerleri gözden geçirilmelidir.
PHP-FPM havuzunun domain bazında aktif olmadığını nasıl anlarım?
/etc/php-fpm.d/ ya da /opt/plesk/php/*/etc/php-fpm.d/ dizinlerinde domain adına ait bir .conf dosyasının oluşup oluşmadığını kontrol ederek FPM havuzunun gerçekten açıldığını doğrulayabilirsiniz.