TTL Stratejileri: 5m vs 1h Break-Even Analizi
Anthropic'te 5m TTL ucuz yazma, 1h TTL pahalı yazma. Hangisini seçeceğin trafik yoğunluğuna bağlı. Bu derste optimal TTL formülünü öğreneceksin.
Şükrü Yusuf KAYA
11 dakikalık okuma
OrtaTTL: 5m vs 1h Karar
Modül 3 Ders 14'te TTL'i kısaca gördük. Şimdi formüle dökelim.
Maliyet Modeli#
5m cache write: (1.25 \times P_{\text{input}}) per refresh
1h cache write: (2.0 \times P_{\text{input}}) per refresh
Eğer saat içinde N kez cache miss olacaksan (TTL expired):
(\text{5m cost} = N \times 1.25 \times P_{\text{input}})
(\text{1h cost} = 1 \times 2.0 \times P_{\text{input}})
1h karlı eğer:
Yani saatte 2+ kez cache miss olursa 1h daha ekonomik.
Trafik Hesabı#
5m TTL'in expire olması için: ardışık 5 dakika cache HIT olmaması = trafik bu sürede yok.
| Saatlik trafik | 5m expire ihtimali | Tavsiye TTL |
|---|---|---|
| 1000+ req/saat | Çok düşük | 5m |
| 500-1000 req/saat | Düşük | 5m |
| 100-500 req/saat | Orta | 5m veya 1h (test et) |
| 30-100 req/saat | Yüksek | 1h |
| <30 req/saat | Çok yüksek | 1h veya cache yok |
python
def best_ttl(req_per_hour: int) -> str: """Saatlik trafik için en ekonomik TTL'i öner.""" # 5m'lik bir TTL'de cache hit window 5 dakika # Bu süre içinde 1+ trafik varsa TTL reset, expire olmaz avg_gap_min = 60 / req_per_hour if req_per_hour > 0 else float('inf') if avg_gap_min < 4: # <4dk ortalama gap → 5m hep canlı return "5m (canlı kalır)" elif avg_gap_min < 30: # 4-30dk → karışık return "5m veya 1h, test gerek" elif avg_gap_min < 60: return "1h (daha güvenli)" else: return "Cache başına git: trafik çok seyrek" for n in [10000, 1000, 500, 100, 30, 10]: avg = 60/n print(f"Saatte {n:>5} istek (ortalama {avg:>5.2f}dk arayla) → {best_ttl(n)}")TTL break-even hesabı
Pragmatik Karar
Pratik tavsiye: Trafik yüksekse (1000+ req/saat) 5m. Düşükse (30-100) 1h. Çok düşükse caching'in kendisi gereksiz olabilir.
Multi-TTL Pattern#
Anthropic 4 breakpoint kullanıyorsan farklı katmanlar farklı TTL alabilir:
# En statik şeyleri 1h, sık değişeni 5m system_blocks = [ {"text": KB, "cache_control": {"ttl": "1h"}}, # nadir değişir {"text": SYSTEM, "cache_control": {"ttl": "5m"}}, # sık değişir ]
Bu sayede her katman optimal TTL'ini alır.
✓ Pekiştir#
Bir Sonraki Derste#
Cache warming — soğuk başlangıç problemini çözmek.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
İlgili İçerikler
1. Temeller — Context Penceresi Ekonomisi
Bu Eğitim Hakkında ve Prompt Caching Neden Önemli?
Öğrenmeye Başla1. Temeller — Context Penceresi Ekonomisi
Token Ekonomisi 101: Input vs Output Cost Asimetrisi
Öğrenmeye Başla1. Temeller — Context Penceresi Ekonomisi