View a markdown version of this page

Tingkatkan proporsi permintaan yang dilayani 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 dilayani langsung dari CloudFront cache (rasio hit cache)

Anda dapat meningkatkan kinerja dengan meningkatkan proporsi permintaan pemirsa yang dilayani 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 menyimpan objek Anda

Untuk meningkatkan rasio hit cache Anda, Anda dapat mengonfigurasi asal Anda untuk menambahkan direktif 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 objek telah berubah dan untuk mendapatkan versi terbaru. Anda dapat melengkapi max-age dengan ar stale-while-revalidate ahan stale-if-error dan untuk lebih meningkatkan rasio hit cache dalam kondisi tertentu. Untuk informasi selengkapnya, lihat Mengelola berapa lama konten tetap berada di 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 semua lapisan CloudFront caching ke asal Anda berasal dari satu lokasi. CloudFront dapat mengambil setiap objek menggunakan permintaan asal tunggal dari Origin Shield, dan semua lapisan CloudFront cache lainnya (lokasi tepi dan cache tepi regional) dapat mengambil objek dari Origin Shield.

Untuk informasi selengkapnya, lihat Gunakan 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:

  • Konfigur CloudFront asikan 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 yang lain berisiparameter1=a, CloudFront meneruskan permintaan terpisah ke asal Anda ketika permintaan berisi parameter1=A dan ketika permintaan berisiparameter1=a. CloudFront kemudian secara terpisah menyimpan objek yang sesuai yang dikembalikan oleh asal Anda secara terpisah bahkan jika objeknya identik. Jika Anda hanya menggunakan A atau a, CloudFront mengirimkan lebih sedikit permintaan ke asal Anda.

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

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

Memisahkan berdasarkan nilai cookie

Jika Anda CloudFront mengkonfigurasi 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 meneruskan 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 sembilan permintaan berbeda ke asal Anda untuk setiap objek. Jika asal Anda mengembalikan versi objek yang berbeda berdasarkan hanya satu cookie, maka CloudFront meneruskan lebih banyak permintaan ke asal Anda daripada yang diperlukan dan tanpa 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 Anda menggunakan distribusi baik untuk konten dinamis, seperti .js file, dan untuk .css file yang jarang berubah. CloudFront menyimpan 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.

    Misalkan Anda membuat perilaku cache yang pola jalur *.css nya, dan perilaku tersebut tidak melakukan cache berdasarkan nilai cookie. Dalam hal ini, CloudFront meneruskan permintaan .css file ke asal Anda hanya untuk permintaan pertama yang diterima lokasi tepi untuk file tertentu dan untuk permintaan pertama setelah .css file kedaluwar .css sa.

  • 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 mener CloudFront uskan ke asal Anda, lihat nilai-nilai di cs(Cookie) kolom file CloudFront log Anda. Untuk informasi selengkapnya, lihat Log akses (log standar).

Menyimpan berdasarkan header permintaan

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

  • Konfigur CloudFront asikan untuk meneruskan dan menyimpan cache hanya berdasarkan header yang ditentukan alih-alih meneruskan dan caching berdasarkan semua header. Untuk header yang Anda tentukan, mener CloudFront uskan setiap kombinasi nama header dan nilai. 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 untuk cache berdasarkan header permintaan, Anda tidak mengubah header yang meneruskan CloudFront , hanya apakah menyimpan CloudFront objek berdasarkan nilai header.

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

    Misalnya, jika Anda ingin menyajikan berbagai ukuran gambar berdasarkan perangkat pengguna, maka jangan mengonfigurasi CloudFront untuk cache berdasarkan User-Agent header, yang memiliki sejumlah besar kemungkinan nilai. Sebagai gantinya, konfigurasikan CloudFront ke cache berdasarkan CloudFront header tipe perangkatCloudFront-Is-Desktop-Viewer,,CloudFront-Is-Mobile-Viewer, CloudFront-Is-SmartTV-Viewer dan. 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 dikompresi—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 menghapus 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.

Menyajikan 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.