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.
Topik
Tentukan berapa lama CloudFront cache objek Anda
Untuk meningkatkan rasio temuan cache, Anda dapat mengonfigurasi asal Anda untuk menambah arahan Cache-Control max-agemax-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 Kelola 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 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:
-
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=Adan permintaan lainnya berisiparameter1=a, CloudFront teruskan permintaan terpisah ke asal Anda saat permintaan berisiparameter1=Adan saat permintaan berisiparameter1=a. CloudFront kemudian secara terpisah menyimpan objek terkait yang dikembalikan oleh asal Anda secara terpisah meskipun objeknya identik. Jika Anda hanya menggunakanAataua, CloudFront mengirimkan 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¶meter2=bdan permintaan lain untuk objek yang sama berisiparameter2=b¶meter1=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 Pencatatan 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 sembilan 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
.jsfile, dan untuk.cssfile yang jarang berubah. CloudFront cache versi terpisah dari.cssfile 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
*.cssdan yang CloudFront tidak di-cache berdasarkan nilai cookie, maka CloudFront teruskan permintaan.cssfile ke asal Anda hanya untuk permintaan pertama yang diterima lokasi tepi untuk.cssfile tertentu dan untuk permintaan pertama setelah.cssfile 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 Pencatatan 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:
-
Cara CloudFront memproses dan meneruskan permintaan ke server asal Amazon S3 Anda > Header permintaan HTTP yang CloudFront menghapus atau memperbarui
-
Cara CloudFront memproses dan meneruskan permintaan ke server asal kustom Anda> Header dan CloudFront perilaku permintaan HTTP (asal kustom dan Amazon S3)
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-Agentheader, yang memiliki sejumlah besar kemungkinan nilai. Sebagai gantinya, konfigurasikan CloudFront ke cache berdasarkan header CloudFront tipe perangkatCloudFront-Is-Desktop-Viewer,,,CloudFront-Is-Mobile-Viewerdan.CloudFront-Is-SmartTV-ViewerCloudFront-Is-Tablet-ViewerSelain itu, jika Anda mengembalikan versi citra yang sama untuk tablet dan desktop, maka teruskan headerCloudFront-Is-Tablet-Viewersaja, bukan headerCloudFront-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.