Dynamic Caching nedir, ne zaman kullanılmalı?
Kısa cevap
Dynamic Caching, Cache profilinde önbellek anahtarına adresin yanında Key listesinde seçilen istek bilgilerini (dil, cihaz, ülke, çerez gibi) ekler; aynı adres için bu bilgiye göre ayrı kopyalar tutulur. Dile, cihaza, ülkeye ya da kullanıcıya göre değişen içeriğin önbelleğe alınmasında kullanılır. Her ek değer kopya sayısını artırdığı için isabet oranı düşer ve bellek kullanımı artar.
Nasıl Çalışır?
Standart önbellekte bir adresin tek kopyası tutulur ve herkese o sunulur. Dynamic caching açıldığında Key listesindeki her değer anahtarın sonuna eklenir; değerleri farklı olan istekler ayrı kopyalar alır.
| Standart önbellek | Dynamic caching | |
|---|---|---|
| Anahtar | Host + yol + sorgu dizesi | Aynı anahtar + seçilen Key değerleri |
| Bir adres için kopya | 1 | Key değerlerinin farklı kombinasyonu kadar |
| Uygun içerik | Herkese aynı olan içerik | Başlığa, çereze ya da istemciye göre değişen içerik |
| İçerik neye göre değişiyor? | Key'e eklenecek Smart Variable |
|---|---|
| Dil | Request HTTP header content (Accept-Language) |
| Cihaz türü | Request HTTP header content (cihazı ayıran başlık) |
| Ülke | Client Country |
| Oturum (kullanıcıya özel) | Request Cookie Content (oturum çerezinin adı) |
TR7'de Dynamic Caching
- Nerede: Load Balancer → Profiles → Cache → profil satırına sağ tık → Edit (ya da Add) → Dynamic Caching anahtarı açılır → Key listesine Smart Variable'lar eklenir → Save. En az bir değişken gerekir; aynı değişken iki kez eklenirse "There are duplicate values" uyarısı çıkar. Varsayılan olarak kapalıdır.
- vService tipi: Yalnızca HTTP.
- Değişikliğin etkisi: Kayıt açık bağlantılar kopmadan uygulanır; önbellekteki kopyalar silinir. Cluster'da varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir.
- İzleme: Profilin önizlemesindeki Details sekmesinde Key satırı seçilen değişkenleri gösterir (seçilen profilin önizlemesi); isabet oranı vService panosundaki Frontend Cache Hit Ratio grafiğinde izlenir.
- Doğrulama: Aynı adres
curl -s -o /dev/null -D - -H "Accept-Language: tr" https://www.example.com/ve ardındanenile istendiğinde her dil önceTRCACHE: MISS, tekrarındaTRCACHE: HITalır. - WEB-CLI:
--dynamicCaching trueve--dynamicCachingKeys.0alanları kullanılır (dinamik önbellekleme).
Ne Zaman?
- Kullanılır: Accept-Language'e göre dil sürümleri, cihaz türüne göre mobil ve masaüstü sayfaları, ülkeye göre içerik, oturum çerezine göre kullanıcıya özel önbellek.
- Kullanılmaz: Herkese aynı olan statik dosyalar (gereksiz kopya üretir) ve istemci IP'si gibi her istemcide farklı olan değerler (bellek hızla dolar).
Sık Karıştırılan Noktalar
- "Dynamic caching adres yerine seçilen değere göre önbelleğe alır." Seçilen değerler adresin yerine geçmez, anahtara eklenir.
- "Daha çok anahtar daha iyi sonuç verir." Her anahtar kopya sayısını çarpar; isabet oranı düşer.
- "İstemci IP'si kullanıcıyı ayırmak için yeterlidir." NAT arkasındaki kullanıcılar aynı IP'yi paylaşır; kullanıcıya özel önbellek için oturum çerezi tercih edilir.
Dokümantasyonda nasıl yapılır
