BozkırKağanX
Yeni Üye
PHP‑FPM, işlem havuzu yönetiminde üç temel mod sunar: dynamic, static ve ondemand. Her biri farklı trafik profilleri ve kaynak kullanımları için uygundur.
Diğer kritik ayarlar:
Yönlendirme
Açıklanması gereken bir nokta:
Soru
Siz hangi PHP‑FPM modunu tercih edersiniz ve neden?
| Mod | Önerilen Kullanım | Ana Direktifler | Örnek Ayarlar |
|---|---|---|---|
| Dynamic | Orta‑yük, zaman içinde artan istek; CPU ve bellek dengesi önemli | pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers | pm.max_children = 50<br>pm.start_servers = 10<br>pm.min_spare_servers = 5<br>pm.max_spare_servers = 15 |
| Static | Sabit sayıda istek, düşük bellek tüketimi; düşük gecikme | pm.max_children | pm.max_children = 10 |
| Ondemand | Düşük trafik, bellek tasarrufu; varışta yeni işlem başlatma | pm.max_children, pm.process_idle_timeout | pm.max_children = 20<br>pm.process_idle_timeout = 10s |
Diğer kritik ayarlar:
pm.max_requests: Tek bir çocuğun kaç istek sonrasında yeniden başlatılacağını belirler. 500‑1000 arası değer, bellek sızıntısı önler.pm.process_idle_timeout(ondemand için): Çelişki yoksa 10‑20 saniye varsayılır.pm.max_spare_servers(dynamic): Aşırı bellek tüketimini engellemek için 1‑2 katına kadar sınırlandırılabilir.- OPcache:
opcache.memory_consumptionveopcache.max_accelerated_filesdeğerleri, PHP dosyalarının önbelleklendirilmesini optimize eder; genelliklememory_consumption = 128vemax_accelerated_files = 4000başlangıç için uygundur.
Yönlendirme
- Trafik analizini yaparak hangi modun uygun olduğunu belirle.
- Belirlenen mod için
pm.max_childrendeğerini toplam CPU çekirdek sayısı çarpı 1.5‑2 olarak ayarla (ör. 2 çekirdek → 3‑4 çocuk). pm.max_requests’ı 1000 olarak ayarlamak, bellek sızıntısını azaltır.- OPcache ayarlarını site boyutuna göre ölçekle.
Açıklanması gereken bir nokta:
pm.max_children değerinin yüksek olması, bellek sınırını aştığında 503 hatalarına yol açar; bu yüzden sistem bellek sınırını kontrol etmek kritik.Soru
Siz hangi PHP‑FPM modunu tercih edersiniz ve neden?