Memcache ile Mysql ve Site Performansı

Memcache ile Mysql ve Site Performansı

Memcache ile performans arttırma… MySQL tuning v.s çözüm olmadıysa, elbetteki mysql ayarlarında da limitleri arttırmak veya sitenizin hitlerine göre hareket etmek avantajlı. Ama esas oğlan memcache.

Siteniz anlık 5-10 ziyaret seviyelerine ulaştığında oldukça yorulmaya ve server’ınızı kasmaya mı başladı? Hatta artık sunucu yanıt vermiyor mu? CPU MySQL’den dolayı tavan mı yapıyor?

Kendi sitelerimde uzun bir dönem yaşadığım bu probleme nihayet yer aldığım bir proje sayesinde çözüm buldum. Bu işi memcache ile hallediyoruz.

Kısaca memcache’i anlatayım, onlarca websitesini arayıp taramayın. Altta çizilen basit şema ile hemen anlayacaksınız.

memcache flowchart

Yani, aynı sorgu memcache ile tutulmuş ise (memory) veritabanı sunucusuna uğramadan cache’lenen sorguyu size döndürür. Eğer sorgu cache zamanı bitmiş veya memory’de yoksa direk veritabanına gider ve sonuçları döndürür. Burada önemli olan bu sorguyu tekrar hafıza atmak?!

Örnekle açıklayalım. Elimizde “profil” diye bir tablomuz olsun. Şöyle bir sorguyu memcache üzerinden çektiğimizi varsayalım.

$q = memcache_query->(“select baslik from profil where userId = ’14′”);

Bu sorgunun altında önce memcache’de  “select baslik from profil where userId = ’14′” sorgusu ve sonuçları var mı ona bakacağız, varsa direk sonucu basıp geçeceğiz yoksa veritabanına gidip sorguyu çalıştırıp, sonucu basıp cache’leyeceğiz.

Unutmayın, sorgunun ve sonuçlarının ne kadar hafıza tutulacağını da siz belirliyorsunuz. (60 = 1 dk)

Memcache konusunda yardım almak veya sitenizin / sunucunuzun performansını arttırmak için iletişim geçebilirsiniz. Sorgu ve sitenizin açılış zamanları arasındaki büyük değişimi siz de göreceksiniz.

Konuya Oy Verin
5/5

0 Yorum

Henüz yorum yazılmamış. İlk yazan siz olun!

Yorum Yazın