Konuyu Açan
#0
PHP-FPM (FastCGI Process Manager), PHP uygulamalarının daha verimli çalışmasını sağlamak amacıyla tasarlanmış bir uygulamadır. Doğru yapılandırıldığında, web sunucularında yüksek performans ve düşük yanıt süreleri sunar. Bu makalede, PHP-FPM'in performansını artırmak için dikkate alınması gereken temel ayarlar ve optimizasyon teknikleri üzerinde duracağız.
1. Process Manager Ayarları
PHP-FPM, farklı işleme yönetim stratejilerine sahiptir: "dynamic", "static" ve "ondemand".
Genellikle, ayarı önerilir.
2. max_children Ayarı
Bu ayar, PHP-FPM'in aynı anda çalıştırabileceği maksimum işlem sayısını belirler. Yüksek bir değer, daha fazla isteği aynı anda işleyebilir; ancak sunucu kaynakları (RAM, CPU) ile dengelenmelidir. Örneğin, ayarını kullanarak maksimum 50 işlem oluşturulmasını sağlayabilirsiniz.
3. pm.start_servers, pm.min_spare_servers ve pm.max_spare_servers
Bu üç ayar, dinamik işlem yönetimi için kritik öneme sahiptir.
4. request_terminate_timeout Ayarı
Bu ayar, bir isteğin maksimum işleme süresini belirler. Uzun süren işlemleri sona erdirerek sunucunun yanıt sürelerini iyileştirebilir. Örneğin, ile 30 saniye sonrasında işlemler sonlandırılabilir.
5. Slow Log Ayarı
Yavaş sorguları belirlemek için bu log mekanizmasını etkinleştirmek önemlidir. ayarı ile 5 saniyeden fazla süren istekler yavaş log kaydına alınır. Bu, performans darboğazlarını belirlemenize yardımcı olur.
Sonuç olarak, PHP-FPM ayarlarını optimize etmek, web uygulamalarınızın performansını önemli ölçüde artırabilir. Doğru yapılandırma ile hem sunucu kaynaklarınızı daha verimli kullanabilir hem de kullanıcı deneyimini iyileştirebilirsiniz.
1. Process Manager Ayarları
PHP-FPM, farklı işleme yönetim stratejilerine sahiptir: "dynamic", "static" ve "ondemand".
- Dynamic: İşlem sayısını gerektiği gibi ayarlar. Yüksek trafik anlarında otomatik olarak daha fazla işlem oluşturur.
- Static: Belirlenen sabit sayıda işlem oluşturur. Trafik artışı durumunda esneklik sunmaz.
- Ondemand: Sadece gelen istekler olduğunda işlem oluşturur. Düşük kaynak kullanımı sağlar ama yanıt sürelerini artırabilir.
Genellikle,
CODE
1pm = dynamic2. max_children Ayarı
Bu ayar, PHP-FPM'in aynı anda çalıştırabileceği maksimum işlem sayısını belirler. Yüksek bir değer, daha fazla isteği aynı anda işleyebilir; ancak sunucu kaynakları (RAM, CPU) ile dengelenmelidir. Örneğin,
CODE
1pm.max_children = 503. pm.start_servers, pm.min_spare_servers ve pm.max_spare_servers
Bu üç ayar, dinamik işlem yönetimi için kritik öneme sahiptir.
- : Başlangıçta oluşturulacak işlem sayısını belirler. Örneğin,CODE
1
pm.start_serversile başlar.CODE1
pm.start_servers = 5
- : Minimum boş işlemleri belirtir.CODE
1
pm.min_spare_serversile en az 3 boş işlem mevcut olmasını zorunlu kılabilirsiniz.CODE1
pm.min_spare_servers = 3
- : Fazladan boş işlemleri sınırlar.CODE
1
pm.max_spare_serversile 10'dan fazla boş işlem olmamasını sağlarsınız.CODE1
pm.max_spare_servers = 10
4. request_terminate_timeout Ayarı
Bu ayar, bir isteğin maksimum işleme süresini belirler. Uzun süren işlemleri sona erdirerek sunucunun yanıt sürelerini iyileştirebilir. Örneğin,
CODE
1request_terminate_timeout = 30s5. Slow Log Ayarı
Yavaş sorguları belirlemek için bu log mekanizmasını etkinleştirmek önemlidir.
CODE
1request_slowlog_timeout = 5sSonuç olarak, PHP-FPM ayarlarını optimize etmek, web uygulamalarınızın performansını önemli ölçüde artırabilir. Doğru yapılandırma ile hem sunucu kaynaklarınızı daha verimli kullanabilir hem de kullanıcı deneyimini iyileştirebilirsiniz.