Aumentare la percentuale di richieste servite direttamente dalle CloudFront cache (rapporto di accesso alla 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 servite direttamente dalle CloudFront cache (rapporto di accesso alla 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.

Specificare per quanto tempo gli oggetti vengono CloudFront 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 Gestione della durata di permanenza dei contenuti nella cache (scadenza).

Utilizzo dello scudo di origine

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 maiuscola e minuscola, se una richiesta per un oggetto contiene la stringa di query parameter1=a&parameter2=b e un'altra richiesta per lo stesso oggetto contiene parameter2=b&parameter1=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 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 registri standard (registri 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 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, supponete 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 file che vengono modificati raramente. .css 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 Memorizzazione nella cache di contenuti basati su 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 registri standard (registri 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 di valore di 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 configuri la memorizzazione nella cache in base CloudFront alle intestazioni delle richieste, non modifichi le intestazioni da CloudFront inoltrare, ma solo se CloudFront memorizza 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 Memorizzazione nella cache di 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, 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.

Distribuzione di contenuti multimediali con 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.