TR7 üzerinde cache yapabilir miyim; varsayılan ayarlar nelerdir?
Kısa cevap
Evet, HTTP vService'te bir Cache profili atanarak. vService'in Details panelinde Cache işaretlenince Default Profile devreye girer: yanıtlara TRCACHE başlığı eklenir, içerik 1 saat saklanır ve yolu yaygın statik dosya uzantılarıyla biten GET/HEAD istekleri önbelleğe alınır (Caching Rules); Ignore Host Header, Ignore Query, Ignore Request Headers, Ignore Response Headers, Ignore HTTP Method Standards ve Dynamic Caching kapalıdır. Önbellek bellekte tutulur, toplam alanı ayarlanmaz ve vService yeniden başlatıldığında boşalır.
Sorun: Aynı Statik Dosyalar Her Seferinde Kurum Servisinden İsteniyor
CSS, görsel, yazı tipi gibi değişmeyen dosyalar her ziyaretçi için yeniden Kurum Servisinden istendiğinde sunucu yükü ve yanıt süresi gereksiz artar. Bu yanıtlar TR7'de bellekte saklanıp sonraki isteklere Kurum Servisine gitmeden sunulabilir.
Çözüm: Üç Yöntem
Önbellek yalnızca HTTP vService'te kullanılır; L7 TCP ve Network vService'te ve içeriğin TR7'de çözülmediği SSL passthrough kurulumlarında bulunmaz. Varsayılan profilin değerleri:
| Alan | Default profile |
|---|---|
| Cached(HIT) Header Name | TRCACHE (önbellekten gelen yanıtta HIT, Kurum Servisinden gelende MISS) |
| Max. Object Size (MB) | Boş (Automatic) |
| Cache Timeout | 1 hours |
| Caching Rules | Yolu .txt .bmp .jpeg .pdf .ps .ttf .jpg .svg .webp .css .svgz .woff .csv .gif .mid .png .swf .woff2 .doc .midi .ppt .tif .xls .docx .pptx .tiff .xlsx .mp4 .flv .mov .wmv .avi .ogg .mkv .mpg ile biten istekler; .js, .html ve .json listede yoktur |
| Ignore Host Header · Ignore query · Ignore Request Headers · Ignore Response Headers · Ignore HTTP Method Standards | Kapalı (yalnız GET/HEAD; Kurum Servisinin önbellek başlıkları dikkate alınır) |
| Dynamic Caching | Kapalı |
Toplam önbellek alanı ayrı bir alandan ayarlanmaz; vService'in QOS bölümündeki Memory Limit değerine göre otomatik belirlenir (HTTP vService · Cache).
| Durumunuz | Uygun yöntem |
|---|---|
| Varsayılan ayarlarla hemen açmak | Yöntem 1: vService'te Cache + Default profile |
| Süre, kurallar ya da başlık adı farklı olacak | Yöntem 2: Özel Cache profili |
| Komut satırından | Yöntem 3: WEB-CLI |
Yöntem 1: vService'te Cache + Default Profile Önerilen
- Nasıl çalışır vService'te Cache işaretlenince Default profile atanır ve yukarıdaki değerlerle önbellekleme başlar.
- Nerede açılırLoad Balancer → Load Balancer vService List → Edit → Details → Cache
- Gereksinim Yok
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilip Edit tıklanır (vService'e nasıl eklenir).
Save tıklanır. Değişiklik açık bağlantılar kopmadan uygulanır; ilerleme ekranın sağ altındaki senkron göstergesinde izlenir. Cluster'da varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile gönderilir. Önbellek her cihazın kendi belleğindedir; eş cihazlar arasında paylaşılmaz.
Doğrulama
curl -s -o /dev/null -D - https://www.example.com/css/site.css iki kez çalıştırılır.
İlkinde TRCACHE: MISS · ikincisinde TRCACHE: HITvService panosunun HTTP Frontend sekmesinde Frontend Cache ve Frontend Cache Hit Ratio panellerine bakılır.
Cache Lookups ve Cache Hits artarYöntem 2: Özel Cache Profili
- Nasıl çalışır Süre, kurallar, başlık adı ve yoksayma seçenekleri ayrı bir profilde tanımlanır ve vService'te seçilir; aynı profil birden fazla vService'te kullanılabilir.
- Nerede açılırLoad Balancer → Profiles → Cache → Add
- Gereksinim Yok
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Profiles → Cache → Add tıklanır (nasıl eklenir).
Name girilir; Cache Timeout (birim seconds / minutes / hours), Caching Rules ve gerekiyorsa diğer alanlar ayarlanır (profil ekleme formu). Kural ayrıntısı: Hangi içerikler cache'lenir; cache kurallarını nasıl belirlerim?
Add tıklanır.
vService Edit ile açılır; Details → Cache işaretlenir ve listeden profil seçilir. Profil vService formundan da, Cache satırındaki Add ile oluşturulabilir.
Save tıklanır.
Doğrulama
vService'in Load Balancer Management sekmesinde Cache & Compression satırına bakılır.
Responses are cached with the … profileYöntem 3: WEB-CLI
- Nasıl çalışır vService'in Cache alanına WEB-CLI komutuyla Default profile ya da var olan bir profil yazılır.
- Nerede açılır TR7 WEB-CLI →
lb service - Gereksinim WEB-CLI erişimi
- vService tipi HTTP
Adım adım yapılandırma
Default profile için değer default, özel profil için profilin adıdır:
lb service update id <vService> --cache defaultDoğrulama
lb service show <vService> çıktısında cache alanına bakılır.
Cache alanında defaultSık Yapılan Hatalar
- L7 TCP vService'te önbellek aramak. Cache yalnızca HTTP vService'te bulunur; SSL passthrough'ta içerik TR7'de çözülmediği için kullanılamaz (SSL passthrough nedir; ne zaman termination yerine passthrough kullanmalıyım?).
- JavaScript ve HTML dosyalarının varsayılan olarak önbelleğe alınacağını sanmak.
.js,.htmlve.jsonvarsayılan listede yoktur; gerekirse kurala koşulla eklenir. - Önbelleğin kalıcı olduğunu sanmak. Önbellek bellekte tutulur; vService yeniden başlatıldığında (ör. Reload ya da yeniden başlatma gerektiren bir ayar değişikliğinde) boşalır.
- TRCACHE başlığı yokken TR7 önbelleğini suçlamak. Başlık hiç görünmüyorsa vService'te Cache profili etkin değildir ya da yanıt tarayıcının kendi önbelleğinden gelmiştir (Bir yanıtın cache'ten geldiğini nasıl anlarım (Cached(HIT) Header Name, varsayılan değeri TRCACHE)?).
Dokümantasyonda nasıl yapılır
