• 11-06-2024, 23:05:19
    #1
    Merhaba özel yazılım bir sitede anlık 300 kişi falan girince vps de bulunan mysql patlıyor sayfa açıldığında 6 farklı apiye istek atıyor. Şöyleydi böyleydi saniyede 5k istekte böyle olmaması gerekiyor. PHP mysql birde apache sıkıntı yaşatıyor olabilir bu sorunu nasıl çözebilirim. Tüm dosyalar veritabanı her şey aynı sunucuda.
  • 11-06-2024, 23:06:45
    #2
    Merhabalar MongoDB kullanabilirsiniz.
  • 11-06-2024, 23:09:57
    #3
    thes3hzade adlı üyeden alıntı: mesajı görüntüle
    Merhaba özel yazılım bir sitede anlık 300 kişi falan girince vps de bulunan mysql patlıyor sayfa açıldığında 6 farklı apiye istek atıyor. Şöyleydi böyleydi saniyede 5k istekte böyle olmaması gerekiyor. PHP mysql birde apache sıkıntı yaşatıyor olabilir bu sorunu nasıl çözebilirim. Tüm dosyalar veritabanı her şey aynı sunucuda.
    Merhaba

    1. Sorguları ve post işlemlerini optimize etmelisiniz en büyük yük buradan geliyor
    2. Apache yerine Litespeed e geçiş yapın
    3. Daha fazla kaynak için fiziksel sunucu tercih edin + sanallaştırma yapmadan direkt fiziksele linux kurun
  • 11-06-2024, 23:17:12
    #4
    mysql yapısı nedir, myisam ise, innodb yap, index yoksa indexleri ekle, birleştirme işlemleri varsa inner join vs onları kaldırıp tek tek bağlantı kur, bunlar aklıma gelenler, tabi bir çok nedeni olabilir.
  • 11-06-2024, 23:28:02
    #5
    muhtemelen sorgular optimize değil, index yok veya n+1 sorgu çok fazla. yoksa 300 kişide böyle olması imkansız
  • 11-06-2024, 23:33:01
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sqlite3 kullan
  • 12-06-2024, 01:28:07
    #7
    Mysql explain ile ağır yük altında çalışan sql sorgularını kontrol edip index işlemleri yapmalısın. Gereksiz indexlerden kaçınman yararına olur.
  • 12-06-2024, 02:47:34
    #8
    Anlık 15 20k istek alan sunucu yapılandırmalarında uzmanız, birçok optimizasyon yaptık
    Yardımcı olabiliriz. Sırayla yapılması gerekenler.
    - Sorgu optimizasyonu
    - Index, raw query optimizasyonu
    - mysql i sunucu özelliklerine göre optimize
  • 12-06-2024, 03:25:13
    #9
    Joinleri iptal edip join ile çektiğin bilgileri ana tabloda json formatında tut,
    Select * from gibi genel sorguların hepsini özelleştir sadece ihtiyacı olan kolonları çeksin, tablolara çok fazla insert update oluyorsa arada bi optimize table çalıştır, db bağlantı sınıfını güzel oluştur(her sorguda yeni bağlantı açmasın), tablolarda ki indexleri kontrol et eksik veya gereksiz index olmasın, kolonların karakter tip ve limitlerini ihtiyaca göre ayarla( örn; telefon bilgisi tutulan bir kolunun tipi text olmasın), db de genel kullanılan kayıtları cache de tut ama invalidation olayını unutma