Trafik artınca PHP-FPM’i büyütmek çözüm mü, yoksa darboğazı mı gizliyor?

0 Yanıt 3 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Bir projede ziyaretçi sayısı yükselince ilk refleks genelde PHP-FPM’de pm.max_children değerini artırmak oluyor. Ancak her çalışan süreç bellek tükettiği için bu ayarı ölçmeden yükseltmek, RAM’in dolmasına ve sistemin takas alanına düşerek daha da yavaşlamasına yol açabilir. Üstelik asıl sorun veritabanındaki yavaş sorguysa, daha fazla PHP süreci aynı darboğaza daha çok yük bindirir.

Ben önce yük altındayken yanıt sürelerine, RAM kullanımına ve veritabanı sorgu sürelerine birlikte bakıyorum. Özellikle katalog ve arama sayfalarında N+1 sorguları veya eksik indeksler, uygulama tarafında işlemciyi artırmadan da ciddi gecikme yaratabiliyor. Sayfa çıktısı sık değişmiyorsa önbellek faydalı; fakat kişiye özel sepet ve hesap bilgilerini yanlış kapsamla önbelleğe almak da ayrı bir sorun.

pm.max_children için kabaca kullanılabilir RAM’i, PHP-FPM süreçlerinin gerçekçi ortalama bellek tüketimine bölerek üst sınır tahmini yapılabilir. Yine de işletim sistemi ve veritabanı için pay bırakmak, ardından kontrollü yük testiyle doğrulamak gerekiyor.

Siz performans sorunu yaşadığınızda ilk hangi metriğe bakıyorsunuz? PHP-FPM ayarları mı, sorgu profili mi, yoksa uygulama önbelleği mi?

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

0 alıntı seçildi