Aumentare la percentuale di richieste che vengono servite direttamente dalle CloudFront cache (rapporto di successo della cache) - Amazon CloudFront

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.

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-age ai tuoi oggetti e specificare il valore pratico più lungo per max-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 contiene parameter1=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 just A 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&parameter2=b e un'altra richiesta per lo stesso oggetto contieneparameter2=b&parameter1=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:

    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-Agentintestazione, che ha un numero enorme di valori possibili. Configura CloudFront invece la memorizzazione nella cache in base alle intestazioni CloudFront-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'intestazione CloudFront-Is-Tablet-Viewer e non l'intestazione CloudFront-Is-Desktop-Viewer.

Per ulteriori informazioni, consulta Contenuto 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-Encodingintestazione nelle richieste di origine. Questa configurazione si applica a tutto il contenuto che viene CloudFront fornito con la distribuzione da quell'origine.

Offri 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.