Varnish Cache Nedir?
Varnish Cache, web sunucusuna gelen talepleri hızla işleyebilmek için kullanılan bir açık kaynaklı HTTP hızlandırıcıdır. Web sitenize yapılan her isteği bellekte tutarak, veritabanı ve sunucu üzerindeki yükü azaltır. Bu, hem hız hem de performans açısından büyük bir fark yaratır. Özellikle yüksek trafik alan siteler için vazgeçilmez bir araçtır.
Varnish Cache Kurulumu
Varnish’i kurmak için aşağıdaki adımları izleyebilirsiniz. Linux tabanlı bir sistemde çalıştığınızı varsayıyoruz.
Adım 1: Varnish'i Yükleme
Varnish Cache’i kurmanın en kolay yolu paket yöneticisini kullanmaktır. Ubuntu ve Debian tabanlı sistemler için şu komutu kullanarak Varnish’i yükleyebilirsiniz:
sudo apt update
sudo apt install varnishAdım 2: Varnish Servisini Başlatma
Yükleme tamamlandıktan sonra, Varnish servisini başlatmalısınız. Bunun için aşağıdaki komutları sırasıyla girin:
sudo systemctl start varnish
sudo systemctl enable varnishAdım 3: Varnish Portunu Yapılandırma
Varsayılan olarak, Varnish 80 numaralı portu kullanır. Ancak çoğu web sunucusu (örneğin Apache veya Nginx) 80 portunu kullanır. Bu durumda, Varnish’i farklı bir portta çalışacak şekilde yapılandırmamız gerekebilir. Bu değişikliği yapmak için şu dosyayı açın:
sudo nano /etc/varnish/default.vclDosyada, backend sunucu ayarlarını değiştireceksiniz. Backend kısmında şu satırı arayın:
backend default { .host = "127.0.0.1"; .port = "8080"; }Bu satırda yer alan port numarasını, sunucunuzda kullanılan port numarasına göre değiştirebilirsiniz.
Varnish Cache Yapılandırma
Varnish’in en güçlü özelliklerinden biri esnek yapılandırma imkanıdır. Bu esneklik, cache kurallarınızı tam olarak ihtiyacınıza göre ayarlamanıza olanak tanır. Varnish yapılandırma dosyası olan default.vcl, cache yönetiminizi ve diğer tüm ayarları yapmanızı sağlar.
Adım 1: Varnish VCL Dosyasını Düzenleme
Varnish’in default.vcl dosyasına göz atarak, cache stratejilerinizi belirleyebilirsiniz. Aşağıda basit bir örnek yapılandırma gösterilmektedir:
vcl 4.0;
backend default { .host = "127.0.0.1"; .port = "8080"; }
sub vcl_recv {
if (req.url ~ "^/api/") {
return (pass);
}
if (req.http.Cookie) {
return (pass);
}
}
sub vcl_backend_response {
if (beresp.status == 200) {
set beresp.ttl = 1h;
}
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
}Bu örnekte, API isteklerinin ve çerez içeren taleplerin cache’e alınmaması sağlanmıştır. Diğer istekler için ise 1 saatlik bir TTL (Time-To-Live) süresi belirlenmiştir.
Adım 2: Varnish Cache ile Sunucu Arasındaki Trafiği Yönlendirme
Sunucunuz ve Varnish arasındaki trafiği yönlendirebilmek için Varnish’in port yapılandırmasını değiştirmeniz gerekebilir. Bunun için /etc/systemd/system/multi-user.target.wants/varnish.service dosyasını açın ve aşağıdaki satırları düzenleyin:
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vclBu değişiklikle, Varnish, HTTP portu 80 üzerinden çalışacak şekilde yapılandırılacaktır.
Varnish Cache Performansını İzleme ve Yönetme
Varnish’i kurduktan sonra, performansını izlemek de önemlidir. Varnish’in loglarını ve istatistiklerini izlemek için şu komutları kullanabilirsiniz:
sudo varnishlog
sudo varnishstatBu komutlar sayesinde, cache durumunu ve sunucunun performansını detaylı bir şekilde gözlemleyebilirsiniz.
Sonuç
Varnish Cache, web sitenizin performansını ciddi anlamda iyileştirebilir. Sunucunuzun yükünü azaltırken, kullanıcılara hızlı bir deneyim sunmanızı sağlar. Yukarıda verdiğimiz adımlarla, kolayca Varnish’i kurabilir ve yapılandırabilirsiniz. Eğer web sitenizin hızını artırmak istiyorsanız, Varnish Cache sizin için harika bir seçim olacaktır.