Varnish nedir ve HTTP performansını artırmak için nasıl kullanabilirsiniz?
Web sitelerinin ve uygulamaların geliştirilmesiyle karşı karşıya kalan her kullanıcı, modern İnternet teknolojileri dünyasında projenin performansının kritik bir faktör olduğunu kesinlikle anlar. Hızlı yüklenen sayfalar yalnızca kullanıcı deneyimini iyileştirmekle kalmaz, aynı zamanda sitenin SEO derecelendirmesini de artırır. Ayrıca projenizin kâr artışı dinamikleri üzerinde de büyük bir etkiye sahiptir. HTTP isteklerinin performansını önemli ölçüde artırabilecek araçlardan biri Varnish Cache’dir. Bu makale Varnish kullanmanın faydalarını ve sizin için nasıl yararlı olabileceğini ele almayı amaçlamaktadır. Bahsedilmesi gereken ilk şey, Varnish’in web sitesi içeriğini önbelleğe almak için kullanılan yüksek performanslı bir HTTP hızlandırıcısı olduğudur. Görevi, kendisini web sunucusunun önüne yerleştirmek ve istemcilerden gelen istekleri işleyerek her seferinde web sunucusuna başvurmak yerine sayfaların önbelleğe alınmış kopyalarını döndürmektir. Bu, sunucu üzerindeki yükü önemli ölçüde azaltır ve isteklerin işlenmesini hızlandırır. Yani, bu araç aslında sunucunuzun çalışmasını hızlandırır, hatta bazen birkaç kat hızlandırır.
Varnish Nasıl Kurulur ve Yönetilir
Kurulum yöntemleri belirli işletim sistemine bağlıdır, bu kılavuzda Ubuntu 22.04’e odaklanılmıştır. Varnish aşağıdaki komut kullanılarak kurulabilir:
apt varnish'i yükle
Varnish’i başarıyla kurduktan sonra, onu web sunucunuzla çalışacak şekilde yapılandırmanız gerekir. Varnish varsayılan olarak 6081 numaralı bağlantı noktasını dinler. Yapılandırmayı şu dosyadan değiştirebilirsiniz
/etc/varnish/default.vcl.
Örneğin, bağlantı noktasını değiştirmeye karar verirseniz (örneğin, http-alt bağlantı noktası) aşağıdaki gibi görünebilir
backend default {
.host = "127.0.0.1";
.port = "8080";
Vernik ile çalışma örneği
Varnish ile çalışmak için çeşitli varyasyonlar vardır. Örneğin, önbellekte kalma süresini (TTL) yapılandırmanız gerekir ve bunu içeriğin türüne bağlı olarak yapılandırabilirsiniz. Örneğin, bir haber sitesi için, güncel haberler için kısa bir önbellek süresi ve arşivlenmiş haberler ve çok güncel olmayan materyaller için daha uzun bir süre ayarlayabilirsiniz.
sub vcl_backend_response {
if (bereq.url ~ "^/news") {
beresp.ttl = 2m olarak ayarlayın;
} else {
beresp.ttl = 72h olarak ayarlayın;
}
}
HTTP performansını iyileştirmek için nasıl kullanabilirsiniz?
Kullanıcıların HTTP performanslarını artırmak için Varnish kullanarak elde edebilecekleri birkaç önemli fayda vardır. Bunlardan bazıları aşağıda listelenmiştir:
- Anonimleştirme. İnternet kullanıcıları genellikle bir alan adının taranması sürecini yaşarlar. Bu bir ters proxy’ye işaret edebilir, arkasındaki gerçek web sunucusu değil proxy sunucusu hakkında bilgi alır.
- Güvenlik. Ters proxy ile korunan bir web sitesi kötü niyetli saldırıları daha kolay önleyebilir. Bu, müşterilerinize herhangi bir kayıp yaşatmadan web sitesinin sorunsuz çalışmasına yardımcı olacaktır.
- SSL indirme veya SSL sonlandırma. Bir ters proxy tüm HTTPS isteklerini kabul edebilir ve kullanıcının tarayıcısıyla bir SSL el sıkışması gerçekleştirebilir. Bu istekler daha sonra HTTP’ye dönüştürülür ve web sunucusuna gönderilir. Bu, sunucunuzu SSL el sıkışmasından kurtarır ve diğer önemli faaliyetlerle (web sayfası içeriğinin geri kalanını indirmek gibi) ilgilenebilir;
- Ve son olarak, Önbellekleme! Bir ters proxy’nin sayfalarınızdaki statik içeriği geçici olarak depolamasına izin verirseniz, yeni bir istek yapıldığında işlenecektir: orijinal sunucuya gidiş-dönüş olmayacak ve sayfalarınız daha hızlı yüklenecektir.