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à.
Aumento della percentuale di richieste eseguite direttamente dalle cache CloudFront (percentuale di riscontri nella cache)
È possibile migliorare le prestazioni aumentando la percentuale di richieste dei visualizzatori che vengono servite direttamente dalla cache CloudFront anziché rivolgersi ai server di origine per i 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
Specifica della durata di tempo in cui CloudFront memorizza nella cache gli oggetti
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 cache, più frequentemente CloudFront invia le richieste all’origine per determinare se un oggetto è stato modificato 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 Gestione della durata di permanenza dei contenuti nella cache (scadenza).
Utilizzo di Origin Shield
Origin Shield di CloudFront può contribuire a migliorare la percentuale di riscontri nella cache della distribuzione CloudFront, poiché fornisce un ulteriore livello di caching davanti all’origine. Quando usi Origin Shield, tutte le richieste provenienti da tutti i livelli di caching di CloudFront all’origine provengono da un’unica posizione. CloudFront può recuperare ogni oggetto utilizzando una singola richiesta origine da Origin Shield e tutti gli altri livelli della cache CloudFront (posizioni edge e cache edge regionali) possono recuperare l’oggetto da Origin Shield.
Per ulteriori informazioni, consulta Usa Amazon CloudFront Origin Shield.
Caching Basato su parametri della stringa di query
Se si configura CloudFront per la memorizzazione nella cache in base ai parametri delle stringhe di query, è possibile migliorare la memorizzazione nella cache se si eseguono le seguenti operazioni:
-
Configura CloudFront per 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=Ae un’altra contieneparameter1=a, CloudFront inoltra richieste separate all’origine quando una richiesta contieneparameter1=Ae quando una richiesta contieneparameter1=a. CloudFront quindi memorizza separatamente nella cache gli oggetti corrispondenti restituiti dall’origine separatamente anche se gli oggetti sono identici. Se utilizzi soloAoa, CloudFront inoltra un numero minore di richieste al server di origine. -
Elenca i parametri nello stesso ordine. Come per le differenze tra maiuscola e minuscola, se una richiesta per un oggetto contiene la stringa di query
parameter1=a¶meter2=be un’altra richiesta per lo stesso oggetto contieneparameter2=b¶meter1=a, CloudFront inoltra entrambe le richieste al server di origine e memorizza nella cache gli oggetti separatamente anche se sono identici. Se utilizzi sempre lo stesso ordine per i parametri, CloudFront inoltra un numero minore di richieste al server di origine.
Per ulteriori informazioni, consulta Memorizzazione nella cache di contenuti basati su parametri delle stringhe di query. Se desideri esaminare le stringhe di query che CloudFront inoltra all’origine, esamina i valori nella colonna cs-uri-query dei file di log CloudFront. Per ulteriori informazioni, consulta Registri di accesso (registri standard).
Caching in base ai valori dei cookie
Se configuri CloudFront per la memorizzazione nella cache in base ai valori dei cookie, puoi migliorare il caching nel seguente modo:
-
Configura CloudFront per inoltrare solo i cookie specificati invece di inoltrare tutti i cookie. Per i cookie configurati per l’inoltro all’origine da parte di CloudFront, CloudFront inoltra tutte le combinazioni di nome e valore dei cookie. Quindi memorizza nella cache separatamente gli oggetti restituiti dall’origine, anche se sono tutti identici.
Ad esempio, supponiamo che i visualizzatori includano due cookie in ogni richiesta, che ogni cookie abbia a disposizione tre valori possibili e che siano possibili tutte le combinazioni dei valori dei cookie. CloudFront inoltra fino a nove diverse richieste al server di origine per ogni oggetto. Se il server di origine restituisce versioni differenti di un oggetto in base a uno solo dei cookie, allora CloudFront inoltra più richieste al server di origine del necessario e memorizza inutilmente nella cache più versioni identiche dell’oggetto.
-
Crea comportamenti cache separati per i contenuti statici e dinamici e configura CloudFront in modo che inoltri i cookie al tuo server di origine solo per i contenuti dinamici.
Ad esempio, supponiamo che tu disponga di un solo comportamento cache per la tua distribuzione e che tu stia utilizzando la distribuzione sia per i contenuti dinamici, ad esempio i file
.js, sia per i file.cssche cambiano raramente. CloudFront memorizza nella cache le versioni separate dei file.cssin base ai valori dei cookie, perciò ogni edge location CloudFront inoltra una richiesta al server di origine per ogni nuovo valore di cookie o combinazione di valori di cookie.Se crei un comportamento cache per il quale il modello di percorso è
*.csse per il quale CloudFront non esegue la memorizzazione nella cache in base ai valori dei cookie, CloudFront inoltra le richieste per i file.cssall’origine solo per la prima richiesta che una posizione edge riceve per un determinato file.csse per la prima richiesta dopo la scadenza di un file.css. -
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 Caching dei contenuti basati su cookie. Se desideri esaminare i cookie che CloudFront inoltra all’origine, esamina il valori nella colonna cs(Cookie) dei file di log CloudFront. Per ulteriori informazioni, consulta Registri di accesso (registri standard).
Caching in base alle intestazioni di richiesta
Se configuri CloudFront per la memorizzazione nella cache in base alle intestazioni di richiesta, puoi migliorare il caching nel seguente modo:
-
Configura CloudFront per inoltrare e memorizzare nella cache solo le intestazioni specificate invece di inoltrare e memorizzare nella cache tutte le intestazioni. Per le intestazioni specificate, CloudFront inoltra ogni combinazione di nome e di valore di intestazione. Quindi memorizza nella cache separatamente gli oggetti restituiti dall’origine, anche se sono tutti identici.
Nota
CloudFront inoltra sempre al server di origine le intestazioni specificate nei seguenti argomenti:
-
Come CloudFront elabora e inoltra le richieste al server di origine Amazon S3 > Intestazioni di richiesta HTTP che rimuovono o aggiornano CloudFront
-
Come CloudFront elabora e inoltra le richieste al server di origine personalizzato > Intestazioni e CloudFront comportamento delle richieste HTTP (origini personalizzate e Amazon S3)
Quando configuri CloudFront per la memorizzazione nella cache in base alle intestazioni di richiesta, non modifichi le intestazioni che CloudFront inoltra, solo se CloudFront memorizza nella cache gli oggetti in base ai valori dell’intestazione.
-
-
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 desideri servire diversi formati di un’immagine in base al dispositivo dell’utente, non configurare CloudFront per la memorizzazione nella cache in base all’intestazione
User-Agentche ha un numero enorme di valori possibili. Configurare invece CloudFront per la cache in base alle intestazioni di tipo dispositivo CloudFrontCloudFront-Is-Desktop-Viewer,CloudFront-Is-Mobile-Viewer,CloudFront-Is-SmartTV-ViewereCloudFront-Is-Tablet-Viewer. Inoltre, se restituisci la stessa versione dell’immagine per tablet e computer desktop, allora inoltra solo l’intestazioneCloudFront-Is-Tablet-Viewere non l’intestazioneCloudFront-Is-Desktop-Viewer.
Per ulteriori informazioni, consulta Caching dei contenuti in base alle intestazioni di richiesta.
Rimuovere l’intestazione Accept-Encoding quando la compressione non è necessaria
Se la compressione non è abilitata perché l’origine non la supporta, CloudFront non la supporta o il contenuto non è comprimibile, puoi aumentare l’indice di occorrenze nella cache associando un comportamento della cache nella distribuzione a un’origine che imposta Custom Origin Header come segue:
-
Nome intestazione:
Accept-Encoding -
Header value (Valore intestazione): (Lasciare vuoto)
Quando si utilizza questa configurazione, CloudFront rimuove l’intestazione Accept-Encoding dalla chiave cache e non include l’intestazione nelle richieste di origine. Questa configurazione si applica a tutti i contenuti forniti da CloudFront con la distribuzione da tale origine.
Distribuire contenuti multimediali tramite HTTP
Per ulteriori informazioni su come ottimizzare i contenuti video on demand (VOD) e in streaming, consulta Video on demand e video in streaming live con CloudFront.