Tiered Cache, Cache Reserve & arsip lama
Cache hit ratio 93% masih menyisakan 7% yang menyentuh origin. Sebagian besarnya adalah artikel arsip yang jarang dibaca — dan ada cara khusus menanganinya.
Intisari
- Tiered Cache membuat pusat data Cloudflare saling bertanya sebelum menghubungi origin-mu.
- Tanpanya, satu artikel viral bisa di-fetch puluhan kali dari origin — sekali per pusat data.
- Ia gratis di semua plan dan hampir selalu benar untuk dinyalakan. Nyalakan ini dulu.
- Cache Reserve menyimpan objek di R2 sebagai lapis kedua — bagus untuk arsip, tapi ditagih per operasi dan per GB.
- Untuk arsip berita, hitung dulu: banyak berkas kecil yang jarang diakses bisa lebih mahal dari yang dihemat.
Masalah tanpa Tiered Cache
Artikel viral, pembaca dari seluruh Indonesia dan luar negeri.
Cloudflare punya pusat data di banyak kota.
Tanpa Tiered Cache:
Jakarta MISS → origin
Singapura MISS → origin
Surabaya MISS → origin
Frankfurt MISS → origin
… dan seterusnya
Satu artikel = puluhan permintaan ke origin, semuanya untuk isi yang sama.
Dengan Tiered Cache:
Jakarta MISS → tanya tier atas → MISS → origin (satu-satunya yang sampai)
Singapura MISS → tanya tier atas → HIT
Surabaya MISS → tanya tier atas → HIT
Frankfurt MISS → tanya tier atas → HIT
Ini yang paling menguntungkan saat kamu paling membutuhkannya. Artikel yang tiba-tiba viral adalah momen ketika beban origin melonjak paling tajam — dan Tiered Cache memangkasnya menjadi satu permintaan. Nyalakan sebelum yang lain: Caching → Tiered Cache → Smart Tiered Caching.
Smart vs Custom
| Smart Tiered Caching | Custom / Regional | |
|---|---|---|
| Konfigurasi | Satu sakelar | Kamu memilih tier atasnya |
| Pemilihan tier atas | Otomatis, terdekat dengan origin | Manual |
| Plan | Semua | Enterprise |
| Cocok untuk | Hampir semua orang | Origin di banyak region |
Cache Reserve
Cache edge punya kapasitas terbatas dan mengeluarkan objek yang jarang diakses. Untuk portal berita dengan 200 ribu artikel, ini berarti artikel arsip praktis selalu MISS: dibaca sekali sebulan dari pencarian Google, jauh lebih jarang daripada ambang bertahan di cache.
Cache Reserve menaruh lapis persisten berbasis R2 di antara edge dan origin-mu.
Pembaca → edge (MISS) → tier atas (MISS) → Cache Reserve (HIT) → pembaca
└ origin tidak tersentuh
| Untuk | Cache Reserve |
|---|---|
| Artikel arsip yang jarang dibaca | Sangat cocok |
| Gambar artikel lama | Sangat cocok |
| Beranda & artikel terbaru | Tidak perlu — sudah selalu HIT di edge |
| Data yang berubah tiap 15 menit | Tidak — akan lebih banyak tulis daripada baca |
Cache Reserve ditagih, dan modelnya perlu dipahami sebelum menyalakan. Biayanya terdiri dari penyimpanan per GB per bulan plus operasi baca dan tulis. Untuk arsip berita — banyak berkas kecil yang jarang diakses — jumlah operasinya bisa mendominasi, dan totalnya melebihi biaya egress AWS yang kamu hemat. Hitung dengan angkamu sendiri sebelum menyalakannya untuk seluruh situs, dan pertimbangkan mengaktifkannya lewat Cache Rule hanya untuk jalur arsip.
Alternatif tanpa biaya tambahan
// TTL edge yang lebih panjang untuk artikel lama — mereka tidak berubah lagi
const umurHari = (Date.now() - artikel.terbitPada.getTime()) / 86400000;
const sMaxAge =
umurHari < 1 ? 60 : // masih berkembang
umurHari < 7 ? 300 :
umurHari < 90 ? 3600 :
86400; // arsip: sehari penuh
Astro.response.headers.set(
"Cache-Control",
`public, max-age=0, s-maxage=${sMaxAge}, stale-while-revalidate=604800, stale-if-error=604800`,
);
Sepuluh baris ini memberi sebagian besar keuntungan Cache Reserve tanpa biaya apa pun. Artikel berumur lebih dari tiga bulan hampir tidak pernah disunting; menyimpannya sehari di edge aman, dan kalau ternyata perlu diperbaiki, purge by tag menyelesaikannya seketika.
Ini pola yang layak dibiasakan: TTL sebagai fungsi dari umur konten. Ia mencerminkan kenyataan — berita satu jam yang lalu masih mungkin diperbarui, berita tahun lalu tidak — dan menghasilkan cache hit ratio yang jauh lebih tinggi pada arsip tanpa mengorbankan kesegaran yang penting.
Argo Smart Routing
| Argo | |
|---|---|
| Yang dilakukan | Merutekan lalu lintas edge→origin lewat jalur tercepat di jaringan Cloudflare |
| Membantu | Request yang MISS — yaitu 7% sisamu |
| Tidak membantu | Request yang HIT (mayoritas) |
| Biaya | Per GB yang dirutekan |
Setelah cache hit ratio-mu 93%, Argo hanya menyentuh 7% trafik. Manfaatnya nyata untuk pembaca di luar negeri, tapi urutannya jelas: perbaiki cache dulu, ukur, baru pertimbangkan Argo.
Urutan yang benar
| Urutan | Tindakan | Biaya | Dampak |
|---|---|---|---|
| 1 | Cache Rules untuk HTML | Nol | Terbesar |
| 2 | Abaikan parameter pelacakan di cache key | Nol | Besar |
| 3 | Smart Tiered Cache | Nol | Besar saat lonjakan |
| 4 | TTL bertingkat menurut umur artikel | Nol | Sedang |
| 5 | Gambar ke R2 | Hemat egress | Sedang |
| 6 | Cache Reserve | Ditagih | Kecil, setelah 1–5 |
| 7 | Argo | Ditagih | Kecil, setelah 1–5 |
Latihan: nyalakan Smart Tiered Caching dan implementasikan TTL bertingkat menurut umur artikel. Catat cache hit ratio sebelum dan 24 jam sesudahnya. Lalu, sebelum mempertimbangkan Cache Reserve, ambil dari Analytics: berapa persen request MISS-mu yang menuju artikel berumur lebih dari 90 hari, dan berapa ukuran rata-ratanya. Dua angka itu yang menentukan apakah biayanya sepadan.
Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.