Topik ini merangkum metode troubleshooting untuk skenario cache CDN berdasarkan gejala: caching tidak berlaku dan cache miss, rasio hit cache rendah serta rasio pengambilan asal tinggi, pengecualian header respons dan CORS, pengecualian video dan file besar, serta konten tidak diperbarui dan pengecualian akses.
Langkah awal umum
Topik ini berlaku untuk Alibaba Cloud CDN, dengan nama domain yang dipercepat telah terdaftar dan resolusi CNAME telah berlaku. Jika Anda menggunakan Dynamic Route for CDN (DCDN), beberapa titik masuk konfigurasi dan nama fitur mungkin berbeda. Merujuklah pada tampilan Konsol aktual.
Item pemeriksaan berikut berlaku untuk sebagian besar masalah cache. Kami menyarankan Anda menyelesaikannya satu per satu sebelum memulai troubleshooting untuk menghindari kesimpulan salah akibat gangguan lingkungan:
|
Item pemeriksaan |
Deskripsi |
|
Verifikasi bahwa resolusi CNAME benar |
Jalankan |
|
Verifikasi bahwa konfigurasi telah berlaku secara global |
Status aturan di Konsol harus Success. Penyebaran konfigurasi ke POP di seluruh dunia biasanya memerlukan waktu 3 hingga 5 menit. |
|
Kesampingkan cache browser lokal |
Uji dalam mode penjelajahan pribadi atau gunakan |
|
Bersihkan cache CDN yang ada |
Konfigurasi baru hanya berlaku untuk permintaan baru setelah berlaku. Untuk resource yang sudah di-cache berdasarkan kebijakan sebelumnya, kirimkan refresh URL atau refresh direktori melalui Refresh and prefetch. |
Topik ini menggunakan pengaturan waktu kedaluwarsa cache menjadi 0 detik sebagai langkah darurat di beberapa tempat. Waktu kedaluwarsa 0 berarti setiap permintaan memicu pengambilan asal, yang secara signifikan meningkatkan beban pada server origin dan mengurangi efek akselerasi. Kami menyarankan Anda hanya menggunakannya untuk konten dinamis yang benar-benar memerlukan respons real-time, seperti endpoint API. Jangan konfigurasikan secara global untuk resource statis.
Menentukan apakah cache terkena (hit)
Sebelum melakukan troubleshooting masalah cache, periksa header respons untuk mengonfirmasi status cache resource tersebut:
-
Gunakan permintaan GET untuk memeriksa header respons: Jalankan
curl -v -o /dev/null "http(s)://accelerated-domain/resource-path". Permintaancurl -I(permintaan HEAD) mungkin tidak memicu logika cache aktual untuk badan resource di POP dalam beberapa skenario, sehingga menyebabkan kesimpulan salah berupa cache miss. Kami menyarankan Anda menggunakan permintaan GET untuk verifikasi. -
Periksa X-Cache untuk menentukan status hit:
HITmenunjukkan cache hit.MISSatau tidak adanya field ini menunjukkan cache miss, artinya permintaan memicu pengambilan asal. -
Periksa Age dan X-Swift-CacheTime untuk menentukan durasi cache tersisa:
Agemenunjukkan jumlah detik resource telah di-cache di POP, dan harus diinterpretasikan bersama dengan X-Cache. Jika X-Cache adalah MISS dan Age adalah 0, permintaan memicu pengambilan asal. Jika X-Cache adalah HIT tetapi Age adalah 0, resource di-cache kurang dari 1 detik yang lalu.X-Swift-CacheTimemenunjukkan total durasi cache yang diizinkan. Durasi tersisa sama dengan X-Swift-CacheTime dikurangi Age. -
Konfirmasi bahwa permintaan melewati CDN: Jika header respons
Servermenampilkan identifikasi origin, sepertiAliyunOSSataunginx, dan header respons CDN seperti X-Cache dan X-Swift-CacheTime tidak ada, permintaan melewati POP CDN dan langsung menuju server origin. Jalankandig accelerated-domainataunslookup accelerated-domainuntuk mengonfirmasi hasil resolusi akhir. Simpan hanya record CNAME yang ditetapkan oleh CDN, dan hapus record A/AAAA yang mengarah ke IP server origin serta record CNAME yang mengarah ke nama domain server origin.
Caching tidak berlaku dan cache miss
Rasio hit cache rendah dan rasio pengambilan asal tinggi
Pengecualian header respons dan CORS
Pengecualian video dan file besar
Pengecualian konten dan akses
Apa yang harus dilakukan jika masalah tetap belum terselesaikan
Sebelum mengirimkan tiket, kami menyarankan Anda menemukan masalah sendiri dengan cara berikut:
-
Periksa log waktu nyata: Di Konsol, periksa status cache, status pengambilan asal, dan distribusi kode respons permintaan spesifik untuk menentukan URL atau periode waktu mana masalah terkonsentrasi.
-
Gunakan tool diagnostik Konsol: Masukkan URL bermasalah untuk deteksi guna cepat mendapatkan informasi resolusi, pengambilan asal, dan header respons.
-
Lakukan pengujian perbandingan: Akses resource yang sama melalui CDN dan langsung dari server origin secara terpisah, bandingkan perbedaan header respons dan konten, dan tentukan apakah masalah berada di sisi CDN atau server origin.
Jika masalah tetap belum terselesaikan setelah troubleshooting mandiri, kami menyarankan Anda mengumpulkan informasi berikut sebelum mengirimkan tiket untuk mempercepat identifikasi:
-
Nama domain yang dipercepat dan URL permintaan spesifik.
-
Output lengkap
curl -vyang mereproduksi masalah (termasuk header permintaan dan header respons). -
Perkiraan waktu, wilayah, dan ISP saat masalah terjadi.
-
Jenis server origin (OSS, ECS, SLB, server origin pihak ketiga, dll.) dan apakah server origin mendukung permintaan range.
-
Langkah troubleshooting yang telah Anda coba dan hasil setiap langkah.
-
Jika masalah melibatkan rasio hit cache, berikan tangkapan layar rasio hit di Konsol dan rentang waktu yang sesuai.