Konuyu Açan
#1
Son dönemde birkaç yoğun WordPress sitesinde PHP-FPM tarafını kurcalıyorum. Panelde hazır gelen ayarlar çoğu siteyi çalıştırıyor ama trafik artınca “biraz daha max_children ekleyeyim” yaklaşımı RAM’i beklenmedik şekilde tüketebiliyor. Özellikle aynı sunucuda veritabanı ve birden fazla müşteri sitesi varsa, tek bir sitenin PHP süreçleri diğerlerini de etkileyebiliyor.
Bence başlangıç noktası tahmin değil, ölçüm olmalı: PHP worker’larının gerçek bellek kullanımına bakıp, PHP’ye ayrılabilecek RAM’i bu değere bölerek makul bir üst sınır belirlemek. Üstelik veritabanı, işletim sistemi ve önbellekler için de pay bırakmak gerekiyor. Plesk ve DirectAdmin’de ayarların yeri ve sunulan seçenekler sürüme göre değişse de, temel mantık aynı.
Bir de havuz çalışma biçimi var. Düşük ve düzensiz trafikte
Siz kendi sunucularınızda PHP-FPM’i nasıl ayarlıyorsunuz? Worker belleğini ölçmek için hangi yöntemi kullanıyor, havuz tipini trafik desenine göre değiştiriyor musunuz?
Bence başlangıç noktası tahmin değil, ölçüm olmalı: PHP worker’larının gerçek bellek kullanımına bakıp, PHP’ye ayrılabilecek RAM’i bu değere bölerek makul bir üst sınır belirlemek. Üstelik veritabanı, işletim sistemi ve önbellekler için de pay bırakmak gerekiyor. Plesk ve DirectAdmin’de ayarların yeri ve sunulan seçenekler sürüme göre değişse de, temel mantık aynı.
Bir de havuz çalışma biçimi var. Düşük ve düzensiz trafikte
ondemand boşta süreçleri azaltabiliyor; sürekli yoğun trafikte dynamic daha hızlı yanıt verebiliyor. Ama her sitede aynı tercih doğru çıkmıyor. Loglarda kuyruk veya “server reached max_children” uyarısı görmek de tek başına sınırı artırmak gerektiğini kanıtlamıyor; yavaş sorgular ya da ağır eklentiler de darboğaz yaratabiliyor.Siz kendi sunucularınızda PHP-FPM’i nasıl ayarlıyorsunuz? Worker belleğini ölçmek için hangi yöntemi kullanıyor, havuz tipini trafik desenine göre değiştiriyor musunuz?