Varnish Cache Nedir? Kurulumu ve Kullanımı

Uygulamanızın boyutu ne kadar yüksek olursa olsun, kullanıcılar yalnızca uygulama hızınızdan memnun kaldıkları takdirde sizi tekrar tercih edeceklerdir. Hızlı sayfa açılışı, hızlı sunucu yanıtı, iyileştirilmiş performans vb. etmenler kullanıcı tercihlerine etki eden faktörlerden yalnızca birkaçıdır. Bu içeriğimizde, uygulama performansınızı artırmak için mutlaka tercih etmek isteyeceğiniz Varnish Cache’i detaylı bir şekilde açıklayarak, Varnish Cache nedir sorusuna yanıt arıyoruz.

Varnish Cache Nedir ve Neden Tercih Etmelisiniz?

Varnish Cache (Vernik Önbelleği), HTTP ters Proxy’i önbelleğe alma olarak da bilinen bir web uygulaması hızlandırıcısıdır. Daha net bir betimleme yapmak gerekirse, müşterileriniz (yani kullanıcılar) ve web sunucunuz arasında bir aracı olarak davranmaktadır. Yani, belirli içerik istekleri için sorumluluğu web sunucunuz değil, Varnish Cache üstelenecektir.

Bir istek geldiğinde; PHP Varnish, uygun bir yanıt bulmak için bu isteği web sunucusuna iletecektir. Bu yanıt, istemciye gönderilmede önce Varnish tarafından PHP’de ön belleğe alınacaktır. Yine ilginç bir şekilde, bu tür içerikler için sonra gelecek herhangi bir istek, doğrudan web sunucusuna gitmek yerine Varnish önbelleğinden sunulacaktır. Bunun yerine web uygulamanız, sunucu ihtiyacı Varnish tarafından karşılandığı için birkaç kullanıcıdan gelen çok sayıda eşzamanlı isteği yönetebilecektir. Varnish’in üstlendiği bu rol, uygulama performansınızda gözle görülür bir hız artışına sebep olacaktır.

PHP Varnish, istekleri işlemek amacıyla davranış değiştirmenize izin vermek için Varnish Configuration Language (VCL) kullanmaktadır. Bu özellik sayesinde; web sunucusundan gelen yanıtları değiştirebilir, tanımlama bilgilerini kaldırabilir veya yanıta yeni başlıklar ekleyebilirsiniz.

client varnish web server

Varnish Cache’in Görevleri Nelerdir?

Varnish, tekrar istendiğinde hızlı bir şekilde sunulmaları için Back End (Arka Uç) sunucularından gelen yanıtları ön belleğe alan çok yönlü bir ters http Proxy’sidir. Belirli bir isteğe verilen yanıtların önbelleğe alınıp alınmayacağını belirlemek için http başlıklarını kullanmaktadır.

Varsayılan ayarlara göre, yanıtları tanımlama bilgilerine önbelleğe almamaktadır çünkü bunlar istemciye özel istekler olarak kabul edilmektedir. Ancak bu ayarı yapılandırma dosyasından kolaylıkla değiştirebilirsiniz.

Varnish, önbelleğe alma sunucusu olarak çalışmanın yanı sıra, şu işlemler için de kullanılabilmektedir:

  • Web uygulaması için güvenlik duvarı
  • DDoS saldırılarına karşı savunucu
  • Yük dengeleyici (Load Balancer)
  • Kararsız Arka Uçlar (Unstable Backends) için hızlı düzeltme
  • HTTP yönlendiricisi

HTTP önbelleğinin kaydedilebileceği üç konum mevcuttur:

  • Tarayıcı: Bu önbellek, kullanıcıların tarayıcılarına kaydedilmektedir. Kullanıcıya özeldir ve web sitelerine yeniden istek göndermek yerine içerik sunmak amacıyla kullanılabilmektedir.
  • Proxy: Proxy, kullanıcı ile sunucu arasında işlev gören bir ara sunucudur. Genellikle ISS’ler tarafından dağıtılmaktadır ve birden çok kullanıcı tarafından talep edilecek yanıtların önbelleğe alınması için kullanılabilmektedir.
  • Ters Proxy: Bu Proxy türü, web sitesi yöneticisi tarafından oluşturulmaktadır. Arka uç (Backend) sunuculara istek göndermek yerine ağın kenarından içerik sunmak için kullanılır. Bu rehberde öğreneceğiniz Varnish Cache, bir ters Proxy’dir.

varnish cache nasıl çalışır

Windows’ta Varnish Cache Nasıl Yüklenir?

Varnish Cache’i Windows işlemcili bilgisayarına yüklemek için takip etmeniz gereken birkaç basit adım vardır. Öncelikle, Varnish paketi ile Full Cygwin Ortamı’nı kurmalısınız. 32 veya 64 bit seçeneklerinden size uygun olanı seçmelisiniz.

Bu Yazıları da Sevebilirsiniz
Rabbit Loader Nedir? Nasıl Kullanılır? 
Rabbit Loader Nedir? Nasıl Kullanılır? 

Arama motorlarının sıralama faktörlerinde en önemli olanlardan biri de web sitesi hızıdır. Web sayfalarınız hızlı açılıyorsa kullanıcı deneyimi artar ...

WordPress SEO Rehberi
WordPress SEO Rehberi

WordPress dünyanın en çok kullanılan altyapılarından bir tanesidir, peki WordPress siteleri ön plana çıkarmak adına sıkça söz edilen WordPress SEO ned...

Varnish Cache’i kurmak için takip etmeniz gereken adımlar şunlardır:

  1. Ardından setup-x86_64.exe dosyasına çift tıklayıp kurulumu başlatabilirsiniz.
  2. Açılan ekrandaki talimatları okuyun ve İleri (Next) seçeneğine tıklayın.
  3. Gelen ikinci ekranda kurulum türünü seçmelisiniz. Biz burada, “Install from Internet” seçeneği ile devam ettik; size de aynı seçeneği öneriyoruz. Ardından “İleri” kutucuğuna tıklayarak bir sonraki adım ile devam edebilirsiniz.
  4. Karşınıza gelen ekranda, program kurulumunu nereye yapmak istediğinizi belirleyeceksiniz. Browse (Gözat) butonuna tıklayarak, kurulumun hangi klasöre yapılacağını seçebilirsiniz. İleri butonunu seçerek bir sonraki adıma geçebilirsiniz.
  5. Açılan yeni ekranda, indime sitesini veya sitelerini seçmeniz gerekiyor. Önünüze gelen listeden bir veya birden çok site seçebilir veya sitenizin URL’sini metin kutusuna (User URL bölümüne) girerek listeye ekleyebilirsiniz. Bu ekrandaki adımlarını tamamladıktan sonra İleri butonu ile bir sonraki adıma geçebilirsiniz.
  6. Bu adımda ise, karşınıza birkaç farklı yükleme paketi gelecek ve kuracağınız paketleri seçmeniz gerekir.
  7. Arama filtresi bölümünde “Varnish” ifadesini aratın ve ardından size uygun paketi seçerek İleri butonuna tıklayın.
  8. Bir sonraki ekranda, az önce yaptığınız seçimin detaylarını görüntüleyeceksiniz. Listedeki detayları inceledikten sonra İleri butonu ile devam edebilirsiniz.
  9. Nihayet yükleme ekranına eriştiniz. Kurulum aşaması, %100 ile sonuçlandıktan sonra son kez İleri butonuna tıklayarak yükleme işlemini tamamlayabilirsiniz.
  10. Masaüstünde bulunan uygulama sekmesine çift tıklayarak, uygulamayı çalıştırabilirsiniz.

Kurulum işlemi biraz zaman alsa da, listede tarif ettiğimiz adımları dikkatli bir şekilde takip ederek yükleme işlemini sorunsuz tamamlayabilirsiniz.

Varnish Kullanımına Genel Bakış

Varnish, web uygulamanızın önbelleğe alma işlemini tamamlarken, uygulamanızın bazı işleyişlerini etkilemektedir. Şimdi en önemli işleyişlerden bazılarına ve her birinin, uygulama hızını artırmak için ne yaptığına ve bunun web uygulamanızın performansını nasıl güçlendirdiğine bir göz atalım.

  • sub vcl_recv {} → Bu, kullanıcın bir isteği kabul ettiği anda Varnish’in kullanacağı ilk satırdır.
  • sub vcl_backend_response {} → Geri arama adındaki bu kod, yanıttan sonra işleme girer ve Back End (Arka Uç) sunucusundan alır. Ayrıca bu bölümde, yanıtta yapmak istediğiniz değişikleri uygulayabilirsiniz.
  • sub vcl_deliver {} → Bu, istemciye bir yanıt göndermeden önce Varnish Cache’in etkileyeceği son işleyiştir. Böylece bu kodu kullanarak, müşterilerinizin görmesini istemediğiniz adımları kaldırmak için kolaylıkla temizlik yapabilirsiniz.

Hakkında Sıkça Sorulan Sorular

“Ban” komutunu kullanarak komut satırındaki tüm Varnish Cache’i temizleyebilirsiniz.
Varnishadm “ban req.http.host == xxx.com

.htaccess dosyasını, aşağıdaki kodla düzenleyerek Varnish’i web sitenizde kolay bir şekilde devre dışı bırakabilirsiniz.
Header add “Cache-Control” “no-cache”

Varnish hizmetinin düzgün çalışıp çalışmadığını kontrol etmek için X-Varnish başlığını kontrol etmelisiniz. Önbelleklerin çalışma durumuna dair eksiksiz bir analiz görüntülemek için ise X-Cache başlığını ziyaret edebilirsiniz.

Batuhan Durmaz

Yazılar: 32

SEO uzmanı Batuhan Durmaz; Jengal Yazılım’da SEO uzmanı olarak görev almakta, kendi sitesi batuhandurmaz.com üzerinden blog yazıları yayınlamakta ve Youtube kanalı üzerinden video içerikleri üretmektedir. Ayrıca Web sitelerinin dijital varlıklarını güçlendirmek ve organik trafiklerini artırmak adı... Devamını Oku

Bu Yazıları da Sevebilirsiniz
Varnish Cache Nedir? Kurulumu ve Kullanımı Hakkında 1 Adet Ziyaretçi Yorumu

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

(Toplam: 43 Ortalama: 5 )

1 Yorum

  1. Aybüke
    Aybüke

    Bu blog yazısı çok kullanışlı ve ayrıntılı. Varnish Cache kurulumu için açıklayıcı ve kolay anlaşılır adımların yanı sıra, güvenlik konularının da önemli bir şekilde ele alındığını gördüm. Ayrıca, okuyucuların kurulum sürecinde karşılaşabilecekleri sorunları önlemek için öneriler de sunulmuş.