Arkadaşlar merhaba, aktif bir web sayfası trafik aldığı zaman yavaşlama sorunları ile karşılaşıyorum.
Trafik derken anlık 5-10 kişiden bahsediyorum.
Kullandığım sunucu özellikleri:
- i5 4590 - 4 core
- ddr3 32gb ram
- 2x 500gb ssd
- 1 Gbit/s port
Siteye login olan bir kullanıcı sayfa gezmelerinde 3 sql sorgusu atıyor.
1. sorgu: Kullanıcının profil bilgilerini çekmek için
2. sorgu: Kullanıcının son hareket zamanını kaydetmek için update sorgusu
3. sorgu: Kullanıcının alt bilgilerini çekmek için
Ayrıca site içinde farklı fonksiyonlarda çalıştırabiliyorlar ve veritabanına sorgu atabiliyorlar.
Bunların dışında kullanıcı sitede durduğu sürece 5-10 saniyelik aralıklarla cache'lenmiş bir veriyi çekiyor. Güncellenen bölümler var ise sorgu bunları getiriyor.
Son olarak da arkaplanda çalışan görevler var. Bunlardan bazıları 2-3 saniye bazıları ise 25-30 saniye sürebiliyor(cron job ile çalıştırıyorum). 1 ila 5 dakika arasında çalışan görevler bunlar.
SSH ile bağlantı sağladığımda sunucu değerleri stabil gözüküyor. Fakat normalde 1 saniye sürmeden yüklenen sayfalar 3-10 saniye arasında yüklenmeye başlayabiliyor trafik olduğunda.
New Relic kurdum. Orada APM ve Browser durumlarını gözlemliyorum fakat orada da çok anormal durumlar söz konusu değil.
Daha önce bu konu ile ilgili php.conf üzerinde max children vb ayarları değiştirmekle ilgili makale okumuştum fakat çok anladığım bir bölüm değil.
Bir de unutmadan plesk panel ve apache kullanıyorum.
Yardımcı olabilirseniz çok sevinirim.
PHP Web uygulaması trafik sorunu
4
●111
- 09-01-2020, 01:39:06Evet tüm çekirdekler çalışıyor şimdi tekrar kontrol ettim.AnyLock adlı üyeden alıntı: mesajı görüntüle
- 09-01-2020, 01:56:46Litespeed falan kurup denediniz mi? Ngnix denediniz mi?
SQL sorgularınızın bu kadar yoracağını düşünmüyorum.
Yazılımda gereksiz döngüler var mı? Örneğin veritabanından tüm kullanıcılar çekilir bir foreach döngüsüne sokulup kontrol yapılır gibi.
Bu tarz kod blokları var mı? Varsa ondan da olabilir diye düşündüm.
Cache kullanıyor musunuz? - 09-01-2020, 03:25:40Öncelikle teşekkür ederim cevabınız içinMisafir adlı üyeden alıntı: mesajı görüntüle
Litespeed ve nginix kullanmıyorum.
Yazılım sadece gerekli sorguları veritabanından çekiyor. Harici tüm veriler redis üzerinde tutuluyor ve oradan çekiliyor.
Nginx'i daha önce kullandım fakat orada da bir uzmandan destek almıştım ilk başta yazdığım max children vb ayarları düzenlemişti ve sorunlar ortadan kalkmıştı.
Başta da söylediğim gibi yoğun bir trafik değil de 5-10 kullanıcı anlık sistemde olduğunda ağırlaşmalar baş gösteriyor. Sorunun kaynağını bulabilmek adına bakmam gereken yerler nerelerdir acaba?