Tek bir sunucuda birden fazla web site barınıyorsa, her sitenin PHP yükü doğal olarak değişiklik gösterir. Ziyaretçi sayısı yüksek olan siteler daha fazla worker’a ihtiyaç duyarken, basit bir tanıtım sitesi düşük kaynakla da stabil çalışabilir. PHP-FPM her domain için ayrı bir havuz oluşturduğundan, bu limitlerin domain özelinde düzenlenmesi performansı doğrudan etkiler.
Aynı sunucu üzerinde trafik farkı büyük olan pek çok site olabilir. Bir e-ticaret sitesi her saniye çok sayıda isteği karşılar, bir blog ise daha düşük yoğunlukta işlem yapar. Bu sitelere aynı pm.max_children ya da memory limitleri verildiğinde kimisi gereksiz RAM harcar, kimisi ise yük altında 503 ve 504 hatalarıyla karşılaşabilir.
Plesk Üzerinden PHP-FPM Ayarlarını Kontrol Etme
Ayarlara geçmeden önce ilgili domainin PHP-FPM modunda çalıştığını kontrol edelim. Bu kontrol için Plesk panelinden Tools & Settings → PHP Settings kısmına girerek etkin PHP handler türünü görebilirsiniz. Ardından düzenleme yapacağınız domaini açalım.
Domains → Domain → PHP Settings yolunu izleyelim. Eğer Run PHP as bölümü FPM olarak görünmüyorsa modu FPM application served by Apache/Nginx olarak değiştirelim; bu işlem domain için FPM havuzunu etkinleştirir.

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.serviceAlan Adına Özel PHP-FPM Kaynak Limitleri
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 Domain Bazlı Kaynak Limitlerini Yapılandıralım
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/Sunucu Log Mesajlarının Anlamları
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 belli dakikalarda çıkıyorsa nedeni ne olabilir?
Bu durum çoğunlukla cron görevleri, yedekleme işlemleri veya belirli aralıklarla çalışan API istekleri gibi periyodik yük artışlarından kaynaklanır. Bu yoğunluk sırasında pm.max_children sınırı dolduğu için 503 hatası görünür.
<code>server reached pm.max_children setting</code>Bu durumda o domaine ait max_children değerini biraz yükseltmek veya cron zamanlamasını farklı bir saate taşımak genelde çözüm sağlar.
Nginx reverse proxy kullanan sitelerde FPM limitleri neden daha önemli?
pm.max_children değeri yetersiz kaldığında PHP tarafı bloklanır ve Nginx tarafında upstream hatası oluşur.
<code>upstream prematurely closed connection while reading response header</code>Bu hatayı aldığınızda önce domainin PHP-FPM limitlerini, ardından Nginx’in timeout ayarlarını kontrol etmek gerekir.
PHP-FPM havuzunun domain bazında açılmadığını nasıl kontrol ederim?
/etc/php-fpm.d/ veya /opt/plesk/php/*/etc/php-fpm.d/ dizinlerinde ilgili domaine ait bir .conf dosyasının oluşup oluşmadığını kontrol ederek FPM havuzunun gerçekten aktif olup olmadığını anlayabilirsiniz.