• 26-10-2018, 19:15:41
    #1
    Arkadaşlar sitemde yavaşlama ve erişim sorunu yaşıyorum. Hatta tüm sunucu yavaşlıyor. Sitemde sorgu sayısının fazla olduğu söyleniyor. 1 sayfada en fazla kaç sorgu yapmalıyım? Benimkinde 15 sorgu var ve sitede anlık 100-150 bulunmakta. Bu sorgu sayısı fazla mıdır?
  • 26-10-2018, 20:59:31
    #2
    armagedon66 adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar sitemde yavaşlama ve erişim sorunu yaşıyorum. Hatta tüm sunucu yavaşlıyor. Sitemde sorgu sayısının fazla olduğu söyleniyor. 1 sayfada en fazla kaç sorgu yapmalıyım? Benimkinde 15 sorgu var ve sitede anlık 100-150 bulunmakta. Bu sorgu sayısı fazla mıdır?
    Sorgu sayısından ziyade sorguların query kodları ve çekim yapılan veritabanındaki kayıt sayısı, indexleme vb. özellikler önemlidir. Tek bir sorgu bile sistemi yavaşlatabilirken, 1000tane sorgu yavaşlatmayabilir. Eğer sorgunuz çok bilgisini hosting firması verdiyse genelleme söylemiş olabilirler yavaşlatıyor diye.

    Veritabanı ve sorgularınızı optimize etmenizi öneririm bunula ilgili internette birçok kaynak mevcut ama öncelik olarak sorgularınızda select * from vb. şekilde kullanım yapmayın select kolon1, kolon2 from şeklinde sadece size gerekli alanları sorgulayın, ayrıca veritabanında sorguların Where den sonra sık kullanılan kısımlarını index olarak belirlemenizi öneririm bir nebze yardımcı olacaktır.

    Eğer veritabanınız büyük bir veritabanıysa çok kayıt varsa cacheleme vb. alternatif yollarada yönelebilirsiniz. Cache sistemleri mysqlin sunucuya yükünü minimize etmede gayet başarılı bir yöntemdir.
  • 27-10-2018, 11:21:58
    #3
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    Sorgu sayısından ziyade sorguların query kodları ve çekim yapılan veritabanındaki kayıt sayısı, indexleme vb. özellikler önemlidir. Tek bir sorgu bile sistemi yavaşlatabilirken, 1000tane sorgu yavaşlatmayabilir. Eğer sorgunuz çok bilgisini hosting firması verdiyse genelleme söylemiş olabilirler yavaşlatıyor diye.

    Veritabanı ve sorgularınızı optimize etmenizi öneririm bunula ilgili internette birçok kaynak mevcut ama öncelik olarak sorgularınızda select * from vb. şekilde kullanım yapmayın select kolon1, kolon2 from şeklinde sadece size gerekli alanları sorgulayın, ayrıca veritabanında sorguların Where den sonra sık kullanılan kısımlarını index olarak belirlemenizi öneririm bir nebze yardımcı olacaktır.

    Eğer veritabanınız büyük bir veritabanıysa çok kayıt varsa cacheleme vb. alternatif yollarada yönelebilirsiniz. Cache sistemleri mysqlin sunucuya yükünü minimize etmede gayet başarılı bir yöntemdir.
    Anladım çok teşekkür ederim cevabınız için. Sorgularda select * from kısımlarını optimize ettim dediğiniz gibi. Index olayını araştırmam gerek, bilmiyorum nasıl olduğunu..

    Veritabanım büyük, cachelemeden kastınız sunucu my.cnf dosyasındaki query_cache ayarları mı yoksa memcache vb. işlemler mi?
    Ayrıca my.cnf içeriğim bu şekilde https://prnt.sc/lb1fef
  • 29-10-2018, 13:09:18
    #4
    armagedon66 adlı üyeden alıntı: mesajı görüntüle
    Anladım çok teşekkür ederim cevabınız için. Sorgularda select * from kısımlarını optimize ettim dediğiniz gibi. Index olayını araştırmam gerek, bilmiyorum nasıl olduğunu..

    Veritabanım büyük, cachelemeden kastınız sunucu my.cnf dosyasındaki query_cache ayarları mı yoksa memcache vb. işlemler mi?
    Ayrıca my.cnf içeriğim bu şekilde https://prnt.sc/lb1fef
    Cacheden kastım php ile file cacheleme yapmanız. Yani ziyaretçi ilk defa bir sayfaya girdiğinde o sayfanın kaynak kodunu ftpde bir klasöre kaydeceksiniz sonraki ziyaretçiler giriş yaptığı zaman mysql vb. sorgulara girmeden direk cacheden çekip göstereceksiniz. http://www.beybut.com/php-cache-kullanimi/ burada basit bir örneği mevcut.