Sitemi Nasıl Hızlandırabilirim

Posted by krmylmz on 2 May 2021 Sunday 20:02:01

Merhaba, sevgili okurlar, bu gün sizlere web sitenize ufak dokunuşlarla sitenizin performansını nasıl artırabileceğinizi, ve aslında bir çok site sahibinin yaptığı basit hataları ve bu hataların zincirleme sonuçlarını göreceğiz. Bu makale sitenizin hızlı açılması için sunucu taraflı yapabileceğimiz işlemleri konu alır, o nedenle seo adı altında, gzip konularına değinmeyeceğiz.

Mysql Sorunsalı

Veritabanının tükettiği kaynak her zaman sitemizin en büyük yüküdür, mysql şöyle kötü böyle yavaş gibi yorumları okumuş yada duymuş olmalısınız, ancak mysql aslında o kadar da kötü değil, tabiki bir nosql performansı bekleyemeyiz, ancak mysql ile de büyük data veritabanlarını hızlıca çalıştırabilirsiniz. Evet bu mümkün.

Öncelikle php sitemizin sorgularına dikkat etmeliyiz, öncelikle sorgularda sık kullandığımız select, insert, update bu sorgu kümelerini ayıralım, çünkü bu 3 sorgu kümesi farklı işler yapar ve aynı anda kullanıldıklarında bazı sorunlar meydana gelir, şöyle ki aşağıda ki gibi bir tablonuz olduğunu varsayalım.

haberler
id
kategori_id
haber_baslik
haber_icerik
haber_goruntulenme
haber_tarih

Bu tabloda milyonlarca veri barındırdığımızı düşünelim, Web sitenize giren kullanıcılar sürekli select * from sorgusu ile çalışacaklar, ancak haber_goruntulenme sutununa dikkat edelim, aynı zamanda bu kullanıcılar bu tabloya bir de update sorgusu gönderecekler işte burada tablonuzun motoru MYISAM ise, işler karışacaktır, bu nedenle tablonuzu innodb olarak ayarlamakta fayda var, Kaldıki sürekli select olan bir tabloya kullanıcı tarafından insert ve update sorgusunun yapılması innodb bile olsa bir zaman sonra sorun teşkil edecektir, bu nedenle aslında pekte önemli bir veri olmayan görüntülenme sayısını mongodb, elasticsearch, redis gibi bir nosql yapıda saklayabilirsiniz, yok ben onla uğraşamam derseniz innodb yapmamız daha iyi olacaktır,

Bir diğer konu mysql index;

Tablomuz da kategori_id şeklinde bir sütun var, kategori haber listelenmesinde sorgu select * from haberler where kategori_id şeklinde olacaktır, esasında mysql i en çok zorlayan kısım where den sonraki kısımlardır, çünkü where ayraçlı bir listeleme işlemi yapar ve yüksek mysql verilerinde şayet bu sütun index olarak ayarlanmamışsa, her seferinde yeniden oluşturulacaktır, kategori_id sutununu phpmyadmin üzeirnden kolaylıkla index olarak ayarlayabilirsiniz. Bu işlemi yaptığınızda sitenizin nasıl hızlandığını gözle görülür düzeyde fark edeceksiniz.


Mysql konularını geçtikten sonra, bir diğer konumuz remote get, yani php sitenizin, hazır script vb olabilir, remote bir bağlantı yapmadığına emin olun, özellikle bu bağlantının kullanıcılar tarafından girilen bir sayfada olmadığına emin olun, Şöyleki eğer bu remote bağlantı kodunuz kullanıcıların erişim sağladığı bir sayfada olursa, sitenize giren kullanıcı sayısı arttıkça web siteniz doğru orantılı olarak yavaşlayacaktır.

Unutmayın, siteniz ne kadar trafikli yada büyük boyutlu olursa olsun, sunucu yetersiz gelmez! Sunucu kaldırmıyor diye bir durum yoktur, sizin sunucunun kaynaklarının ne kadarını tükettiğiniz ile ilgili bir durum vardır. İyi yapılandırılmış bir yazılım, sanki siteniz salt html gibi performans verir. Kaynağı yetmeyen sunucu yoktur, kaynağı fazla tüketen yazılım vardır.