PHP-FPM’de max_children değerini tahminle değil ölçerek ayarlamak

0 Yanıt 5 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Küçük bir VPS’te site yoğunlaşınca ilk refleks genelde pm.max_children değerini yükseltmek oluyor. Ama bu ayar, aynı anda kaç PHP isteğinin çalışabileceğini belirlediği için fazla yüksek seçilirse RAM’i tüketip sunucuyu takas alanına sürükleyebiliyor; fazla düşükse istekler kuyrukta bekliyor.

Ben önce PHP-FPM havuzunun ve veritabanının kullandığı belleği yoğun saatlerde gözlemliyorum. Sonra işletim sistemi ve diğer servisler için pay bırakarak PHP’ye ayrılabilecek belleği, PHP-FPM süreçlerinin ortalama gerçek bellek kullanımıyla bölüyorum. Örneğin PHP’ye ayırabileceğim yaklaşık 700 MB ve süreç başına ölçtüğüm kullanım 70 MB ise başlangıç için 10 çocuk mantıklı bir üst sınır olur. memory_limit değerini doğrudan bu hesapta kullanmamak önemli; o, her sürecin mutlaka o kadar RAM tüketeceği anlamına gelmiyor.

Bir de yalnızca RAM’e bakmıyorum: FPM durum sayfasında bekleyen istekler ve yoğun saatlerdeki aktif süreçler artıyorsa sınır düşük olabilir. CPU zaten doluysa max_children artırmak sadece daha fazla süreci aynı işlemci için yarıştırabilir. Değişikliği küçük adımlarla yapıp RAM, yanıt süresi ve kuyruk durumunu birlikte izlemek daha güvenli.

Siz kendi sunucunuzda bu değeri nasıl belirliyorsunuz; ölçüm için kullandığınız pratik bir yöntem var mı?

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi