• 09-01-2020, 01:34:22
    #1
    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.
  • 09-01-2020, 01:36:48
    #2
    İşlemler esnasında 4 çekirdeğin 4'ü de çalışıyor mu ? Benzer sorun bizde de vardı çok önceden. 8 çekirdeğin 1 tanesi kullanıyordu biraz geç fark ettik
  • 09-01-2020, 01:39:06
    #3
    AnyLock adlı üyeden alıntı: mesajı görüntüle
    İşlemler esnasında 4 çekirdeğin 4'ü de çalışıyor mu ? Benzer sorun bizde de vardı çok önceden. 8 çekirdeğin 1 tanesi kullanıyordu biraz geç fark ettik
    Evet tüm çekirdekler çalışıyor şimdi tekrar kontrol ettim.
  • 09-01-2020, 01:56:46
    #4
    Litespeed 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
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Litespeed 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?
    Öncelikle teşekkür ederim cevabınız için

    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?