Tingkatkan proporsi permintaan yang disajikan langsung dari CloudFront cache (rasio hit cache) - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tingkatkan proporsi permintaan yang disajikan langsung dari CloudFront cache (rasio hit cache)

Anda dapat meningkatkan kinerja dengan meningkatkan proporsi permintaan pemirsa Anda yang disajikan langsung dari CloudFront cache alih-alih pergi ke server asal Anda untuk konten. Hal ini dikenal sebagai peningkatan rasio temuan cache.

Bagian berikut menjelaskan cara meningkatkan rasio temuan cache Anda.

Tentukan berapa lama CloudFront cache objek Anda

Untuk meningkatkan rasio temuan cache, Anda dapat mengonfigurasi asal Anda untuk menambah arahan Cache-Control max-age ke objek Anda, dan menentukan nilai praktis terpanjang untuk max-age. Semakin pendek durasi cache, semakin sering CloudFront mengirim permintaan ke asal Anda untuk menentukan apakah suatu objek telah berubah dan untuk mendapatkan versi terbaru. Anda dapat melengkapi max-age dengan stale-if-error arahan stale-while-revalidate dan untuk lebih meningkatkan rasio hit cache dalam kondisi tertentu. Untuk informasi selengkapnya, lihat Mengelola berapa lama konten tetap dalam cache (kedaluwarsa).

Gunakan Origin Shield

CloudFront Origin Shield dapat membantu meningkatkan rasio hit cache CloudFront distribusi Anda, karena menyediakan lapisan caching tambahan di depan asal Anda. Saat Anda menggunakan Origin Shield, semua permintaan dari CloudFront semua lapisan caching ke asal Anda berasal dari satu lokasi. CloudFront dapat mengambil setiap objek menggunakan permintaan asal tunggal dari Origin Shield, dan semua lapisan cache lainnya (lokasi tepi dan CloudFront cache tepi regional) dapat mengambil objek dari Origin Shield.

Untuk informasi selengkapnya, lihat Menggunakan Amazon CloudFront Origin Shield.

Caching berdasarkan parameter string kueri

Jika Anda CloudFront mengkonfigurasi cache berdasarkan parameter string kueri, Anda dapat meningkatkan caching jika Anda melakukan hal berikut:

  • Konfigurasikan CloudFront untuk meneruskan hanya parameter string kueri yang asal Anda akan mengembalikan objek unik.

  • Gunakan kasus yang sama (huruf besar atau kecil) untuk semua kasus parameter yang sama. Misalnya, jika satu permintaan berisi parameter1=A dan permintaan lainnya berisiparameter1=a, CloudFront teruskan permintaan terpisah ke asal Anda saat permintaan berisi parameter1=A dan saat permintaan berisiparameter1=a. CloudFront kemudian secara terpisah menyimpan objek terkait yang dikembalikan oleh asal Anda secara terpisah meskipun objeknya identik. Jika Anda menggunakan just A ataua, CloudFront teruskan lebih sedikit permintaan ke asal Anda.

  • Cantumkan parameter dalam urutan yang sama. Seperti halnya perbedaan dalam kasus, jika satu permintaan untuk objek berisi string kueri parameter1=a&parameter2=b dan permintaan lain untuk objek yang sama berisiparameter2=b&parameter1=a, CloudFront teruskan kedua permintaan ke asal Anda dan secara terpisah menyimpan objek yang sesuai meskipun keduanya identik. Jika Anda selalu menggunakan urutan parameter yang sama, CloudFront teruskan lebih sedikit permintaan ke asal Anda.

Untuk informasi selengkapnya, lihat Konten cache berdasarkan parameter string kueri. Jika Anda ingin meninjau string kueri yang CloudFront diteruskan ke asal Anda, lihat nilai di cs-uri-query kolom file CloudFront log Anda. Untuk informasi selengkapnya, lihat Konfigurasikan dan gunakan log standar (log akses).

Memisahkan berdasarkan nilai cookie

Jika Anda CloudFront mengonfigurasi cache berdasarkan nilai cookie, Anda dapat meningkatkan caching jika Anda melakukan hal berikut:

  • Konfigurasikan CloudFront untuk meneruskan hanya cookie tertentu alih-alih meneruskan semua cookie. Untuk cookie yang Anda konfigurasikan CloudFront untuk meneruskan ke asal Anda, CloudFront teruskan setiap kombinasi nama dan nilai cookie. Kemudian dia menyimpan secara terpisah objek yang dikembalikan asal Anda, bahkan jika semuanya identik.

    Misalnya, anggaplah bahwa pemirsa menyertakan dua cookie dalam setiap permintaan, bahwa setiap cookie memiliki tiga nilai yang mungkin, dan bahwa semua kombinasi nilai cookie dimungkinkan. CloudFront meneruskan hingga enam permintaan berbeda ke asal Anda untuk setiap objek. Jika asal Anda mengembalikan versi objek yang berbeda hanya berdasarkan salah satu cookie, maka meneruskan CloudFront lebih banyak permintaan ke asal Anda daripada yang diperlukan dan tidak perlu menyimpan beberapa versi objek yang identik.

  • Buat perilaku cache terpisah untuk konten statis dan dinamis, dan konfigurasikan CloudFront untuk meneruskan cookie ke asal Anda hanya untuk konten dinamis.

    Misalnya, Anda hanya memiliki satu perilaku cache untuk distribusi Anda dan bahwa Anda menggunakan distribusi baik untuk konten dinamis, seperti .js file, dan untuk .css file yang jarang berubah. CloudFront cache versi terpisah dari .css file Anda berdasarkan nilai cookie, sehingga setiap lokasi CloudFront tepi meneruskan permintaan ke asal Anda untuk setiap nilai cookie baru atau kombinasi nilai cookie.

    Jika Anda membuat perilaku cache yang pola jalurnya *.css dan yang CloudFront tidak di-cache berdasarkan nilai cookie, maka CloudFront teruskan permintaan .css file ke asal Anda hanya untuk permintaan pertama yang diterima lokasi tepi untuk .css file tertentu dan untuk permintaan pertama setelah .css file kedaluwarsa.

  • Jika memungkinkan, buat perilaku cache terpisah untuk konten dinamis ketika nilai cookie unik untuk setiap pengguna (seperti ID pengguna), dan konten dinamis yang bervariasi berdasarkan jumlah nilai unik yang lebih kecil.

Untuk informasi selengkapnya, lihat Konten cache berdasarkan cookie. Jika Anda ingin meninjau cookie yang CloudFront diteruskan ke asal Anda, lihat nilai di cs(Cookie) kolom file CloudFront log Anda. Untuk informasi selengkapnya, lihat Konfigurasikan dan gunakan log standar (log akses).

Menyimpan berdasarkan header permintaan

Jika Anda CloudFront mengonfigurasi cache berdasarkan header permintaan, Anda dapat meningkatkan caching jika Anda melakukan hal berikut:

  • Konfigurasikan CloudFront untuk meneruskan dan cache hanya berdasarkan header yang ditentukan, bukan penerusan dan caching berdasarkan semua header. Untuk header yang Anda tentukan, CloudFront teruskan setiap kombinasi nama dan nilai header. Kemudian ini menyimpan objek secara terpisah yang asal Anda kembali meskipun semuanya identik.

    catatan

    CloudFront selalu meneruskan ke asal Anda header yang ditentukan dalam topik berikut:

    Saat Anda CloudFront mengonfigurasi cache berdasarkan header permintaan, Anda tidak mengubah header yang CloudFront diteruskan, hanya jika CloudFront cache objek berdasarkan nilai header.

  • Coba hindari cache berdasarkan header permintaan yang memiliki nilai unik dalam jumlah besar.

    Misalnya, jika Anda ingin menyajikan ukuran gambar yang berbeda berdasarkan perangkat pengguna, maka jangan CloudFront mengkonfigurasi cache berdasarkan User-Agent header, yang memiliki sejumlah besar kemungkinan nilai. Sebagai gantinya, konfigurasikan CloudFront ke cache berdasarkan header CloudFront tipe perangkatCloudFront-Is-Desktop-Viewer,,, CloudFront-Is-Mobile-Viewer dan. CloudFront-Is-SmartTV-Viewer CloudFront-Is-Tablet-Viewer Selain itu, jika Anda mengembalikan versi citra yang sama untuk tablet dan desktop, maka teruskan header CloudFront-Is-Tablet-Viewer saja, bukan header CloudFront-Is-Desktop-Viewer.

Untuk informasi selengkapnya, lihat Konten cache berdasarkan header permintaan.

Hapus Accept-Encoding header saat kompresi tidak diperlukan

Jika kompresi tidak diaktifkan—karena asal tidak mendukungnya, CloudFront tidak mendukungnya, atau konten tidak dapat dikompresikan—Anda dapat meningkatkan rasio hit cache dengan mengaitkan perilaku cache dalam distribusi Anda ke asal yang menetapkan sebagai berikut: Custom Origin Header

  • Nama header: Accept-Encoding

  • Nilai header: (Biarkan kosong)

Saat Anda menggunakan konfigurasi ini, CloudFront hapus Accept-Encoding header dari kunci cache dan tidak menyertakan header dalam permintaan asal. Konfigurasi ini berlaku untuk semua konten yang CloudFront berfungsi dengan distribusi dari asal itu.

Sajikan konten media melalui HTTP

Untuk informasi tentang mengoptimalkan video sesuai permintaan (VOD) dan konten video streaming, lihat Video sesuai permintaan dan video streaming langsung dengan CloudFront.