Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aumentare la percentuale di richieste che vengono servite direttamente dalle CloudFront cache (rapporto di successo della cache)
È possibile migliorare le prestazioni aumentando la percentuale di richieste dei visualizzatori che vengono servite direttamente dalla CloudFront cache anziché rivolgersi ai server di origine per la raccolta dei contenuti. Questo è noto come miglioramento del tasso di occorrenza nella cache.
Le seguenti sezioni illustrano come migliorare il tuo numero di riscontri nella cache.
Argomenti
- Specificate per quanto tempo CloudFront i vostri oggetti vengono memorizzati nella cache
- Usa Origin Shield
- Caching Basato su parametri della stringa di query
- Caching in base ai valori dei cookie
- Caching in base alle intestazioni di richiesta
- Rimuovere l'intestazione Accept-Encoding quando la compressione non è necessaria
- Distribuisci contenuti multimediali su HTTP
Specificate per quanto tempo CloudFront i vostri oggetti vengono memorizzati nella cache
Per incrementare il numero di riscontri nella cache, puoi configurare il server di origine per aggiungere una direttiva Cache-Control max-agemax-age
. Più breve è la durata della cache, più frequentemente vengono CloudFront inviate richieste all'origine per determinare se un oggetto è cambiato e per ottenere la versione più recente. È possibile integrare max-age
con le direttive stale-while-revalidate
e stale-if-error
per migliorare ulteriormente il rapporto di occorrenza nella cache in determinate condizioni. Per ulteriori informazioni, consulta Gestisci la durata della permanenza dei contenuti nella cache (scadenza).
Usa Origin Shield
CloudFront Origin Shield può aiutarti a migliorare il rapporto di accesso alla cache della tua CloudFront distribuzione, poiché fornisce un ulteriore livello di caching davanti all'origine. Quando usi Origin Shield, tutte le richieste provenienti da tutti i livelli CloudFront di memorizzazione nella cache all'origine provengono da un'unica posizione. CloudFront può recuperare ogni oggetto utilizzando una singola richiesta di origine da Origin Shield e tutti gli altri livelli della CloudFront cache (edge location e cache edge regionali) possono recuperare l'oggetto da Origin Shield.
Per ulteriori informazioni, consulta Utilizzo di Amazon CloudFront Origin Shield.
Caching Basato su parametri della stringa di query
Se configuri la cache CloudFront in base ai parametri della stringa di query, puoi migliorare la memorizzazione nella cache se esegui le seguenti operazioni:
-
CloudFront Configurate in modo da inoltrare solo i parametri della stringa di query per i quali l'origine restituirà oggetti univoci.
-
Utilizza la stessa combinazione di maiuscole e minuscole per tutte le istanze dello stesso parametro. Ad esempio, se una richiesta contiene
parameter1=A
e un'altra contieneparameter1=a
, CloudFront inoltra richieste separate all'origine quando una richiesta contieneparameter1=A
e quando una richiesta contieneparameter1=a
. CloudFront quindi memorizza separatamente nella cache gli oggetti corrispondenti restituiti dall'origine, anche se gli oggetti sono identici. Se usi justA
ora
, CloudFront inoltra meno richieste alla tua origine. -
Elenca i parametri nello stesso ordine. Come per le differenze tra maiuscole e minuscole, se una richiesta per un oggetto contiene la stringa di query
parameter1=a¶meter2=b
e un'altra richiesta per lo stesso oggetto contieneparameter2=b¶meter1=a
, CloudFront inoltra entrambe le richieste all'origine e memorizza separatamente nella cache gli oggetti corrispondenti anche se sono identici. Se usi sempre lo stesso ordine per i parametri, CloudFront inoltra meno richieste all'origine.
Per ulteriori informazioni, consulta Contenuto della cache in base ai parametri della stringa di query. Se desideri esaminare le stringhe di query che CloudFront inoltrano all'origine, consulta i valori nella cs-uri-query
colonna dei tuoi CloudFront file di registro. Per ulteriori informazioni, consulta Configurazione e utilizzo di log standard (log di accesso).
Caching in base ai valori dei cookie
Se configuri la memorizzazione nella cache in base CloudFront ai valori dei cookie, puoi migliorare la memorizzazione nella cache effettuando le seguenti operazioni:
-
Configura CloudFront per inoltrare solo i cookie specifici invece di inoltrare tutti i cookie. Per i cookie che configuri per l'inoltro CloudFront all'origine, CloudFront inoltra ogni combinazione di nome e valore del cookie. Quindi memorizza nella cache separatamente gli oggetti restituiti dall'origine, anche se sono tutti identici.
Ad esempio, supponiamo che gli utenti includano due cookie in ogni richiesta, che ogni cookie abbia tre valori possibili e che tutte le combinazioni di valori dei cookie siano possibili. CloudFront inoltra fino a sei richieste diverse all'origine per ogni oggetto. Se l'origine restituisce versioni diverse di un oggetto in base a uno solo dei cookie, allora CloudFront sta inoltrando all'origine più richieste del necessario e sta inutilmente memorizzando nella cache più versioni identiche dell'oggetto.
-
Crea comportamenti di cache separati per i contenuti statici e dinamici e configura l'inoltro dei cookie CloudFront all'origine solo per i contenuti dinamici.
Ad esempio, supponiamo di avere un solo comportamento di cache per la distribuzione e di utilizzare la distribuzione sia per contenuti dinamici, come
.js
i file, sia per.css
file che vengono modificati raramente. CloudFront memorizza nella cache versioni separate dei.css
file in base ai valori dei cookie, in modo che ogni CloudFront edge location inoltri una richiesta all'origine per ogni nuovo valore di cookie o combinazione di valori dei cookie.Se create un comportamento di cache per il quale corrisponde lo schema di percorso
*.css
e per il quale CloudFront non lo memorizzate in base ai valori dei cookie, CloudFront inoltra le richieste di.css
file all'origine solo per la prima richiesta ricevuta da una edge location per un determinato.css
file e per la prima richiesta dopo la scadenza di un.css
file. -
Se possibile, crea comportamenti cache separati per i contenuti dinamici per cui i valori dei cookie sono univoci per ogni utente (ad esempio un ID utente) e per contenuti dinamici che variano in base a un numero minore di valori univoci.
Per ulteriori informazioni, consulta Contenuto della cache basato sui cookie. Se desideri esaminare i cookie che CloudFront inoltrano alla tua origine, consulta i valori nella cs(Cookie)
colonna dei tuoi CloudFront file di registro. Per ulteriori informazioni, consulta Configurazione e utilizzo di log standard (log di accesso).
Caching in base alle intestazioni di richiesta
Se CloudFront configuri la memorizzazione nella cache in base alle intestazioni delle richieste, puoi migliorare la memorizzazione nella cache effettuando le seguenti operazioni:
-
Configura CloudFront l'inoltro e la memorizzazione nella cache in base solo alle intestazioni specificate anziché all'inoltro e alla memorizzazione nella cache in base a tutte le intestazioni. Per le intestazioni specificate, CloudFront inoltra ogni combinazione di nome e valore dell'intestazione. Quindi memorizza nella cache separatamente gli oggetti restituiti dall'origine, anche se sono tutti identici.
Nota
CloudFront inoltra sempre all'origine le intestazioni specificate nei seguenti argomenti:
-
In che modo CloudFront elabora e inoltra le richieste al tuo server di origine Amazon S3 > HTTPintestazioni di richiesta che rimuovono o aggiornano CloudFront
-
In che modo CloudFront elabora e inoltra le richieste al tuo server di origine personalizzato > HTTPintestazioni e CloudFront comportamento delle richieste (origini personalizzate e Amazon S3)
Quando configurate la memorizzazione nella cache in base CloudFront alle intestazioni delle richieste, non modificate le intestazioni da CloudFront inoltrare, ma solo se CloudFront memorizzate nella cache gli oggetti in base ai valori delle intestazioni.
-
-
Prova a evitare la memorizzazione nella cache in base alle intestazioni delle richieste che dispongono di un numero elevato di valori univoci.
Ad esempio, se desiderate pubblicare immagini di dimensioni diverse in base al dispositivo dell'utente, non configurate la cache in base CloudFront all'
User-Agent
intestazione, che ha un numero enorme di valori possibili. Configura CloudFront invece la memorizzazione nella cache in base alle intestazioniCloudFront-Is-Desktop-Viewer
del CloudFront tipo di dispositivo,, e.CloudFront-Is-Mobile-Viewer
CloudFront-Is-SmartTV-Viewer
CloudFront-Is-Tablet-Viewer
Inoltre, se restituisci la stessa versione dell'immagine per tablet e computer desktop, allora inoltra solo l'intestazioneCloudFront-Is-Tablet-Viewer
e non l'intestazioneCloudFront-Is-Desktop-Viewer
.
Per ulteriori informazioni, consulta Memorizza i contenuti della cache in base alle intestazioni delle richieste.
Rimuovere l'intestazione Accept-Encoding
quando la compressione non è necessaria
Se la compressione non è abilitata, perché l'origine non la supporta, non la supporta o il contenuto CloudFront non è comprimibile, puoi aumentare il rapporto di accesso alla cache associando un comportamento della cache nella tua distribuzione a un'origine che imposta quanto segue: Custom Origin Header
-
Nome intestazione:
Accept-Encoding
-
Header value (Valore intestazione): (Lasciare vuoto)
Quando usi questa configurazione, CloudFront rimuove l'intestazione dalla chiave della cache e non include l'Accept-Encoding
intestazione nelle richieste di origine. Questa configurazione si applica a tutto il contenuto che viene CloudFront fornito con la distribuzione da quell'origine.
Distribuisci contenuti multimediali su HTTP
Per informazioni sull'ottimizzazione dei video on demand (VOD) e sullo streaming di contenuti video, consultaVideo on demand e video in streaming live con CloudFront.