

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)
<a name="cache-hit-ratio"></a>

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.

**Topics**
+ [Tentukan berapa lama CloudFront cache objek Anda](#cache-hit-ratio-duration)
+ [Gunakan Origin Shield](#cache-hit-ratio-use-origin-shield)
+ [Caching berdasarkan parameter string kueri](#cache-hit-ratio-query-string-parameters)
+ [Memisahkan berdasarkan nilai cookie](#cache-hit-ratio-cookies)
+ [Menyimpan berdasarkan header permintaan](#cache-hit-ratio-request-headers)
+ [Hapus `Accept-Encoding` header saat kompresi tidak diperlukan](#cache-hit-ratio-remove-accept-encoding)
+ [Sajikan konten media melalui HTTP](#cache-hit-ratio-http-streaming)

## Tentukan berapa lama CloudFront cache objek Anda
<a name="cache-hit-ratio-duration"></a>

Untuk meningkatkan rasio temuan cache, Anda dapat mengonfigurasi asal Anda untuk menambah arahan [Cache-Control max-age](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) 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)](Expiration.md).

## Gunakan Origin Shield
<a name="cache-hit-ratio-use-origin-shield"></a>

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](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches)) dapat mengambil objek dari Origin Shield.

Untuk informasi selengkapnya, lihat [Gunakan Amazon CloudFront Origin Shield](origin-shield.md).

## Caching berdasarkan parameter string kueri
<a name="cache-hit-ratio-query-string-parameters"></a>

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 berisi`parameter1=a`, CloudFront teruskan permintaan terpisah ke asal Anda saat permintaan berisi `parameter1=A` dan saat permintaan berisi`parameter1=a`. CloudFront kemudian secara terpisah menyimpan objek terkait yang dikembalikan oleh asal Anda secara terpisah meskipun 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 dalam kasus, jika satu permintaan untuk objek berisi string kueri `parameter1=a&parameter2=b` dan permintaan lain untuk objek yang sama berisi`parameter2=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](QueryStringParameters.md). 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 [Akses log (log standar)](AccessLogs.md).

## Memisahkan berdasarkan nilai cookie
<a name="cache-hit-ratio-cookies"></a>

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 `.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](Cookies.md). 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 [Akses log (log standar)](AccessLogs.md).

## Menyimpan berdasarkan header permintaan
<a name="cache-hit-ratio-request-headers"></a>

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](RequestAndResponseBehaviorS3Origin.md#request-s3-removed-headers)
Cara CloudFront memproses dan meneruskan permintaan ke server asal kustom Anda> [Header dan CloudFront perilaku permintaan HTTP (asal kustom dan Amazon S3)](RequestAndResponseBehaviorCustomOrigin.md#request-custom-headers-behavior)

  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 perangkat`CloudFront-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](header-caching.md).

## Hapus `Accept-Encoding` header saat kompresi tidak diperlukan
<a name="cache-hit-ratio-remove-accept-encoding"></a>

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
<a name="cache-hit-ratio-http-streaming"></a>

Untuk informasi tentang mengoptimalkan video sesuai permintaan (VOD) dan konten video streaming, lihat [Video sesuai permintaan dan video streaming langsung dengan CloudFront](on-demand-streaming-video.md).