CDN ve Önbellek Katmanı: Sunucunuzun Yükünü Dışarı Taşımak

Dört önbellek katmanı: tarayıcı, dağıtım ağı, sayfa ve nesne önbelleği. Hangi içerik nerede tutulur, temizleme kuralları nasıl kurulur. CDN ve Önbellek…

CDN ve Önbellek Katmanı: Sunucunuzun Yükünü Dışarı Taşımak
İçindekiler
  1. Dört Katman, Dört Farklı Kazanç
  2. Katman 1: Tarayıcı Önbelleği
  3. Katman 2: Dağıtım Ağı
  4. Neyi Taşımalı?
  5. Gerçek Ziyaretçi IP'si
  6. Katman 3: Sayfa Önbelleği
  7. Katman 4: Nesne Önbelleği
  8. Etkiyi Ölçmek
  9. Sonuç
  10. Sıkça Sorulan Sorular (SSS)
  11. Küçük bir site için dağıtım ağı gerekli mi?
  12. Önbellek yüzünden ziyaretçiler eski içerik görür mü?
  13. E-ticaret sitesinde önbellek kullanabilir miyim?
  14. Hangi katmandan başlamalıyım?

CDN ve Önbellek Katmanı: Sunucunuzun Yükünü Dışarı Taşımak

Sunucu yükünü azaltmanın en ucuz yolu, isteğin sunucunuza hiç ulaşmamasıdır. Önbellek katmanları tam olarak bunu yapar: aynı içeriği tekrar tekrar üretmek yerine hazır sonucu sunar. Doğru kurulduğunda etkisi donanım yükseltmesinden büyüktür ve maliyeti kıyaslanamayacak kadar düşüktür.

Bu rehber, bir sanal sunucu önündeki önbellek katmanlarını sırayla ele alıyor — hangisi ne kadar kazandırır, hangi içerik hangi katmanda tutulur.

Dört Katman, Dört Farklı Kazanç

Bir isteğin yolculuğunu tersten düşünün. Her katman, isteği bir öncekine ulaşmadan karşılayabilirse kazanç artar:

Katman Neyi tutar Kazanç
1. Tarayıcı önbelleği Statik dosyalar İstek hiç ağa çıkmaz — en yüksek kazanç
2. Dağıtım ağı (CDN) Statik dosyalar, bazen sayfalar İstek sunucunuza ulaşmaz
3. Sayfa önbelleği Üretilmiş HTML Uygulama ve veritabanı hiç çalışmaz
4. Nesne önbelleği Sorgu sonuçları Tekrar eden sorgular diske gitmez

Katmanlar birbirinin alternatifi değildir. Dağıtım ağı statik dosyaları alır, sayfa önbelleği dinamik sayfaları, nesne önbelleği ise önbelleğe alınamayan sayfalardaki sorguları hafifletir.

Katman 1: Tarayıcı Önbelleği

En ucuz ve en çok atlanan katman. Statik dosyalara uzun ömürlü önbellek başlığı tanımlarsanız, tekrar eden ziyaretlerde tarayıcı o dosyaları hiç istemez.

Buradaki klasik korku şudur: "Uzun önbellek koyarsam, dosyayı güncellediğimde ziyaretçi eskisini görür." Çözüm sürümlü dosya adı kullanmaktır — dosya adına bir sürüm veya içerik özeti ekleyin. İçerik değiştiğinde ad da değişir, tarayıcı yeni adı yeni dosya olarak görür ve indirir. Böylece hem uzun önbellek hem anında güncelleme elde edersiniz.

Katman 2: Dağıtım Ağı

Dağıtım ağı, statik içeriğinizin kopyalarını dünyaya yayılmış sunucularda tutar ve ziyaretçiye en yakın olandan sunar. İki kazanç sağlar: sunucunuzun bant genişliği ve istek yükü düşer, ziyaretçi için gecikme azalır.

Neyi Taşımalı?

  • Kesinlikle: Görseller, video, stil dosyaları, betikler, yazı tipleri, indirilebilir dosyalar. Çoğu sitede toplam trafiğin büyük bölümü bunlardır.
  • Duruma göre: Herkese aynı görünen HTML sayfaları — blog yazıları, kategori sayfaları. Bu, dağıtım ağının en güçlü kullanımıdır ama önbellek temizleme kurallarını doğru kurmayı gerektirir.
  • Asla: Kullanıcıya özel sayfalar. Sepet, hesabım, panel. Bunlar önbelleğe alınırsa bir kullanıcı başkasının verisini görebilir — bu, önbellek yapılandırmasında yapılabilecek en ciddi hatadır.

Gerçek Ziyaretçi IP'si

Dağıtım ağı devreye girdiğinde tüm istekler onun sunucularından geliyormuş gibi görünür. Gerçek ziyaretçi IP'sinin iletilmesini yapılandırmazsanız erişim loglarınız anlamsızlaşır, bot analizi yapamazsınız ve IP tabanlı engelleme kuralları yanlış çalışır. Kurulumda atlanmaması gereken adım budur.

Katman 3: Sayfa Önbelleği

Sunucu tarafında en yüksek getirili katman. Her istekte sıfırdan üretilen bir sayfa, sunucunuzun en pahalı işidir: uygulama başlar, onlarca sorgu çalışır, şablon işlenir. Sayfa önbelleği bu zincirin tamamını atlar.

Kritik olan iki karar vardır:

Ne önbelleğe alınacak? Giriş yapmamış ziyaretçiye gösterilen her sayfa adaydır. Giriş yapmış kullanıcılar, sepeti dolu ziyaretçiler ve form gönderim sonuçları dışarıda kalmalıdır.

Ne zaman temizlenecek? Önbellek sorunlarının neredeyse tamamı bu kuraldan çıkar. İçerik güncellendiğinde ilgili sayfaların önbelleği temizlenmelidir — yalnızca o yazının sayfası değil, o yazının göründüğü liste ve kategori sayfaları da. Temizleme kuralı kurulmadan yapılan bir önbellek kurulumu, "yeni yazı sitede görünmüyor" şikayeti üretir.

Katman 4: Nesne Önbelleği

Sayfa önbelleğinin devre dışı kaldığı yerlerde — giriş yapmış kullanıcılar, sepet, panel — devreye girer. Tekrar eden veritabanı sorgularının sonucunu bellekte tutar; aynı sorgu her istekte yeniden çalışmaz.

Bellek tabanlı bir depo kullanır ve kurulumu basittir. E-ticaret gibi kişiselleştirilmiş sayfaların ağırlıklı olduğu sitelerde en çok fark yaratan katman budur, çünkü orada sayfa önbelleği kullanılamaz.

Etkiyi Ölçmek

Her katmanı kurduktan sonra ölçün — tahmin etmeyin:

  1. Önbellek isabet oranı: İsteklerin yüzde kaçı önbellekten karşılanıyor? Düşükse önbellek kuralları çok dar tanımlanmış olabilir.
  2. Sunucu yükü: Önbellek öncesi ve sonrası CPU/bellek kullanımını karşılaştırın.
  3. Sunucuya ulaşan istek sayısı: Dağıtım ağı kurulduysa bu sayı belirgin biçimde düşmelidir. Düşmüyorsa yapılandırma çalışmıyor demektir.
  4. İlk bayt süresi: Sayfa önbelleğinin etkisi burada en net görünür.

Sonuç

Önbellek katmanları, sunucu kaynağı satın almadan performans kazanmanın en verimli yoludur. Kurulum sırası nettir: tarayıcı önbelleği ve sürümlü dosya adları en ucuz kazancı verir, sayfa önbelleği sunucu yükünü en çok düşürür, dağıtım ağı bant genişliğini ve gecikmeyi çözer, nesne önbelleği ise kişiselleştirilmiş sayfaları hızlandırır. Kaynakların size ayrıldığı bir VDS sunucu ortamında dördünü de kurabilirsiniz — ve dördü kurulduğunda aynı donanım kat kat fazla ziyaretçi taşır. Tek dikkat noktası: kullanıcıya özel sayfaları asla önbelleğe almayın.

Sıkça Sorulan Sorular (SSS)

Küçük bir site için dağıtım ağı gerekli mi?

Ziyaretçileriniz tek bir coğrafyadaysa ve trafik düşükse kazanç sınırlıdır. Görsel ağırlıklı bir siteniz varsa veya farklı ülkelerden ziyaretçi alıyorsanız getirisi hızla artar. Önce sayfa önbelleğini kurun; dağıtım ağı bir sonraki adımdır.

Önbellek yüzünden ziyaretçiler eski içerik görür mü?

Temizleme kuralı doğru kurulduysa hayır. Sorun genellikle önbelleğin kendisinden değil, içerik güncellendiğinde ilgili sayfaların temizlenmemesinden çıkar. Kurulumda en çok emek verilmesi gereken kısım burasıdır.

E-ticaret sitesinde önbellek kullanabilir miyim?

Evet, ama seçici olarak. Ürün listeleri ve kategori sayfaları önbelleğe alınabilir; sepet, ödeme ve hesap sayfaları kesinlikle alınmamalıdır. Bu ayrım yanlış yapıldığında bir kullanıcı başkasının sepetini görebilir.

Hangi katmandan başlamalıyım?

Tarayıcı önbelleği ve sıkıştırma — dakikalar sürer, hiçbir risk taşımaz. Sonra sayfa önbelleği: sunucu yükünde en büyük düşüşü o sağlar. Dağıtım ağı ve nesne önbelleği, ihtiyaca göre sonraki adımlardır.