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 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 berisiparameter1=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 justA
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¶meter2=b
dan 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 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:
-
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-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 headerCloudFront-Is-Tablet-Viewer
saja, 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.