Best practice per l'importazione dei contenuti

Questa pagina fornisce le best practice per ottimizzare e accelerare la distribuzione dei contenuti con Cloud CDN. Le sezioni sono suddivise in diverse aree chiave.

Cloud CDN utilizza un bilanciatore del carico delle applicazioni esterno come origine dei contenuti memorizzabili nella cache. Un bilanciatore del carico delle applicazioni esterno può distribuire un mix di contenuti statici e creati dinamicamente agli utenti tramite un unico indirizzo IP globale dai seguenti tipi di backend:

Grazie all'integrazione perfetta con Google Cloud, puoi diverse opzioni per il deployment di Cloud CDN e la gestione dei contenuti. Utilizza le best practice elencate di seguito per pianificare e perfezionare il deployment. Per saperne di più, vedi Configurare Cloud CDN.

Ottimizzare la percentuale successi cache

Le seguenti pratiche consigliate consentono di ottimizzare la percentuale successi cache.

Memorizza contenuto statico nella cache

Come best practice per migliorare le prestazioni, quando abiliti Cloud CDN, devi scegliere la modalità cache più adatta per la tua applicazione.

Il metodo più flessibile e generalmente preferito per gestire le regole di cache è: utilizzando l'intestazione Cache Control. Se non hai dimestichezza con l'utilizzo delle intestazioni cache-control dell'origine, la best practice consigliata è consentire a Cloud CDN di memorizzare automaticamente nella cache i contenuti statici.

Per memorizzare nella cache automaticamente le risposte statiche dell'origine, puoi utilizzare l'impostazione--cache-mode=CACHE_ALL_STATIC (predefinita). Questa impostazione consente a Cloud CDN di memorizzare nella cache i tipi di contenuti statici comuni quando l'origine non specifica direttive di memorizzazione nella cache nelle intestazioni di risposta. Assicurati che i tuoi contenuti corrispondano categorie descritte; altrimenti i contenuti non vengono memorizzati nella cache.

Non memorizzare nella cache contenuti specifici dell'utente

In alcuni casi, i browser possono memorizzare nella cache contenuti specifici dell'utente. Non utilizzare Cloud CDN per memorizzare nella cache contenuti specifici dell'utente.

Usa chiavi cache personalizzate per migliorare percentuale successi cache

Per ottenere prestazioni e scalabilità, è importante ottimizzare il percentuale successi cache. Per impostazione predefinita, Cloud CDN utilizza l'URL della richiesta completo per creare la chiave cache. Per ottimizzare la percentuale di successi della cache, puoi utilizzare chiavi cache personalizzate in modo che Cloud CDN non esegue shard inutilmente della cache.

Archivio coppie chiave-valore Cloud CDN (fai clic per ingrandire).

Le chiavi della cache personalizzate ti consentono di includere o omettere qualsiasi combinazione di protocollo, host e stringa di query. Di seguito sono riportati alcuni esempi di casi in cui potresti utilizzare la cache personalizzata chiavi:

  • Hai due host che si risolvono nello stesso indirizzo IP e passano allo stesso completamente gestito di Google Cloud. In questo esempio, l'intero sito web è lo stesso nei due . Per impostazione predefinita, Cloud CDN memorizza nella cache due copie a causa dell'intestazione Host: diversa nelle richieste HTTP. Con una chiave cache personalizzata, può fare in modo che Cloud CDN ignori la parte host della richiesta e condivida il delle voci della cache.

  • In un esempio più specifico, potresti avere due siti web su domini diversi che utilizzano lo stesso logo. I contenuti del sito web sono diversi, ma utilizzi lo stesso logo aziendale su entrambi i domini e disponi di un servizio di backend dedicato archivia a fini legali i contenuti condivisi. Quando abiliti Cloud CDN e personalizzi chiavi cache per il servizio di backend che contiene il logo, cancella i dati della sezione Host casella di controllo in modo che la cache ignori il dominio ma memorizzi il logo nella cache.

  • Deve essere memorizzato nella cache un logo visualizzato tramite HTTP o HTTPS. Quando personalizzare le chiavi cache per il servizio di backend che contiene il logo, cancellare la casella di controllo Protocollo in modo che le richieste tramite HTTP e HTTPS vengano conteggiate come corrisponde alla voce di cache del logo.

Per informazioni su come personalizzare le chiavi cache, consulta la sezione Utilizzo della cache. chiave.

Ottimizzazione del rendimento

Le seguenti best practice consigliate ti aiutano a ottimizzare il rendimento.

Assicurati che il supporto dei protocolli HTTP/3 e QUIC sia abilitato

HTTP/3 è un protocollo internet di nuova generazione. È basato su QUIC, un protocollo sviluppato dal protocollo Google QUIC ) (gQUIC) originale. HTTP/3 supportato tra il carico HTTP(S) esterno di servizio, Cloud CDN e client.

Per aumentare le prestazioni con Cloud CDN, assicurati che HTTP/3 sia abilitato.

Utilizzo della memorizzazione negativa nella cache

La memorizzazione nella cache negativa offre un'esperienza controllo sulla memorizzazione nella cache per errori o reindirizzamenti comuni. Quando Cloud CDN quando rileva codici di risposta specifici, conserva la risposta nella cache per un TTL impostato. Ciò può ridurre il carico sulle origini e migliorare l'esperienza dell'utente finale riducendo la latenza di risposta.

Ottimizzare la sicurezza

Le seguenti best practice consigliate contribuiscono a ottimizzare la sicurezza.

Utilizzare Google Cloud Armor

Google Cloud Armor si integra con Cloud CDN per memorizzati nella cache e non memorizzati nella cache o memorizzati nella cache contenuti. Un suggerimento di best practice consiste nell'utilizzare Google Cloud Armor insieme con Cloud CDN, ove possibile, per aumentare la sicurezza dei servizi diverse applicazioni.

Utilizza URL firmati

Se utilizzi URL firmati, tieni presente quanto segue:

Autentica le origini private

L'autenticazione dell'origine offre una solida garanzia che la richiesta provenga solo da configurato dal tuo servizio di backend. Offre anche la protezione dei dati in transito per la richiesta e protegge dal riutilizzo della parte firmata richiesta.

Ti consigliamo di utilizzare un'origine privata autenticazione per bucket Amazon S3 o archivi di oggetti compatibili. Origine privata l'autenticazione contribuisce a garantire che solo le connessioni attendibili accedano ai contenuti dei tuoi da origini private e che gli utenti non vi accedano direttamente.

Inoltre, se i firewall di origine impediscono l'accesso all'origine, utilizza nella lista consentita per garantire che una richiesta provenga da Cloud CDN o un bilanciatore del carico delle applicazioni esterno. Tuttavia, ciò non impedisce ad altri clienti Media CDN di tentare di accedere ai tuoi contenuti specificando l'origine nella loro configurazione.

Ottimizza la cache

Le seguenti pratiche consigliate sono utili per ottimizzare la cache.

Ottimizza i TTL della cache

Puoi impostare o eseguire l'override dei TTL per ottimizzare la durata delle cache di Cloud CDN le tue risposte e quando Cloud CDN riconvalida le tue risposte.

Puoi anche definire un TTL rivolto al client per sfruttare al meglio le cache del browser.

Per ulteriori informazioni, consulta la sezione Utilizzare le impostazioni e gli override TTL.

Impostare la scadenza per i contenuti urgenti

Ogni contenuto in una cache di Cloud CDN ha una scadenza associata il tempo necessario ed è importante impostare una scadenza che sia appropriata per l'uso per verificare se è così. Poiché i server di origine devono inviare nuovamente i contenuti che scadono sui server cache, devi scegliere la scadenza con attenzione.

Un metodo per scegliere la scadenza è classificare i contenuti in base alla frequenza con cui li aggiorni; Ad esempio:

  • Aggiornamenti in tempo quasi reale, come feed in tempo reale per eventi sportivi o traffico
  • Aggiornamenti frequenti, ad esempio informazioni meteo settimanali, giornaliere o orarie o immagini di notizie in prima pagina
  • Aggiornamenti non frequenti, ad esempio il logo di un sito web oppure file CSS o JavaScript

Quindi scegli la scadenza in base alla categoria di contenuti. Ad esempio, un prompt di cinque secondi la scadenza potrebbe essere appropriata per i risultati sportivi quasi in tempo reale e un'ora La scadenza può essere utilizzata per gli aggiornamenti meteo. Per i contenuti archiviati in Cloud Storage, imposta le scadenze utilizzando i metadati Cache-Control. Quando i contenuti vengono pubblicati da Compute Engine, puoi controllare i tempi di scadenza configurando il software del server web.

Le date di scadenza sono specificate dai valori max-age e s-maxage nell'intestazione Cache-Control. Questa intestazione è definita Specifica HTTP. Ad esempio, la seguente intestazione Cache-Control rende i contenuti associati leggibili pubblicamente e memorizzabili nella cache con una scadenza di 72 ore (259.200 secondi):

  Cache-Control: public, max-age=259200

Per massimizzare la memorizzazione nella cache, segui le linee guida in Panoramica della memorizzazione nella cache. Ricorda che max-age e s-maxage nel campo dei metadati Cache-Control operano insieme nel seguente modi:

  • I valori max-age e s-maxage sono misurati in secondi.
  • Il valore s-maxage si applica solo alle cache condivise, non alle cache del browser.
  • Il valore max-age si applica a tutte le cache, a meno che s-maxage non lo sostituisca.

Per contenuti che cambiano raramente o devono cambiare insieme con contenuti correlati, spesso è appropriato usare una scadenza lunga in combinazione con URL sottoposti al controllo delle versioni.

Utilizzare URL con controllo delle versioni per aggiornare i contenuti

La gestione delle versioni dei contenuti consente di pubblicare una versione diversa degli stessi contenuti, rimuovendoli di fatto mostrando agli utenti nuovi contenuti prima della scadenza della voce della cache. Poiché il controllo delle versioni è gratuito, ti consigliamo di utilizzarlo come l'approccio predefinito per l'aggiornamento dei contenuti memorizzabili nella cache.

Per eseguire la versione dei contenuti, aggiungi un parametro all'URL, ad esempio un numero di versione. Esistono diversi modi per includere parametri negli URL, ad esempio:

  • Aggiungi una stringa di query: file.ext?v=100.

    Per i bucket di backend, deve essere specificata qualsiasi stringa di query utilizzata per il controllo delle versioni nella configurazione del bucket di backend. Per ulteriori informazioni, consulta la sezione Query elenco di stringhe di inclusione per la cache di Cloud Storage chiave.

  • Modifica il nome del file: file.1.0.0.ext o file_v100.ext.

  • Modifica il percorso: /v100/file.ext.

Quando aggiungi il parametro, modifichi il nome del file e l'URL. Questa modifica forza la cache a ignorare qualsiasi voce della cache esistente.

Utilizza con parsimonia l'annullamento della convalida per rimuovere i contenuti

L'invalidazione rimuove i contenuti dai server di cache distribuiti di Cloud CDN prima della scadenza della voce della cache. L'annullamento della convalida è coerente.

Ti consigliamo di utilizzare l'invalidazione con parsimonia e solo come ultima risorsa. Ad esempio, l'annullamento della convalida è utile quando devi rimuovere contenuti per motivi legali motivi o a un caricamento accidentale. In caso contrario, ti consigliamo utilizzi il controllo delle versioni quando possibile o attendi che i contenuti scadano normalmente. I server di cache di Cloud CDN eliminano regolarmente gli accessi non frequenti contenuti per fare spazio a quelli nuovi. Contenuti a cui non si accede per 30 giorni viene rimosso incondizionatamente.

Le invalidazioni della cache sono con limitazioni di frequenza.

Per scoprire di più sull'annullamento della convalida, consulta la panoramica sull'annullamento della convalida della cache.

Ottimizza la coerenza dei file caricati

Le seguenti pratiche consigliate consentono di ottimizzare la coerenza dei caricamenti di file.

Evita di aggiornare i file esistenti

Anziché aggiornare i file esistenti, carica nuove versioni.

Per i nuovi file, utilizza nomi univoci che possono includere numeri di versione o date. Aggiunta di un numero di versione (ad esempio file_v2.css) o di una data (ad esempio file_20230806.js) al nome file aiuta a garantire che Cloud CDN recupera la versione corretta e aggiornata. Aggiunta di un parametro all'URL del file (ad esempio, file.css?v=2) di forzare il recupero di una nuova versione non è consigliato perché Questo approccio non affronta il rischio di memorizzare nella cache un file di origine non atomico di aggiornamento, in cui i file parziali o incompleti possono ancora essere memorizzati nella cache.

È fondamentale caricare nuove versioni delle dipendenze prima di caricare i file che li rimandano. Questa prassi aiuta ad assicurare che tutti i riferimenti siano a completi e aggiornati, riducendo così il rischio di pubblicare troncati.

Apporta aggiornamenti atomici ai file

Quando è necessario aggiornare i file esistenti, procedi a livello atomico.

Se accedi a un file e memorizzalo nella cache prima del completamento di un caricamento, potrebbe memorizzato nella cache come file incompleto o troncato. Ad esempio, un file, come /index.html, non può avere un nome univoco, ma può fare riferimento ad altri file con nomi univoci.

Il caricamento di un file con il nome di destinazione può causare la presenza di file incompleti memorizzati nella cache quando vi si accede durante il caricamento. Carica il file in un percorso nome temporaneo e rinominalo con il nome della destinazione solo dopo che è stato eseguito il caricamento completato. Questa pratica contribuisce a garantire che il file sia completamente e immediatamente disponibile quando viene fatto riferimento.

Quando vengono aggiornati i file esistenti, viene applicata la memorizzazione nella cache per intervallo di byte può comportare la conservazione degli intervalli di conservazione del file precedente in Cloud CDN dopo il nuovo il file è stato caricato. Se Cloud CDN dispone di intervalli memorizzati nella cache del file precedente, per i blocchi mancanti possono portare a risposte parziali. Ciò accade poiché Cloud CDN rileva che il file di origine è stato modificato (perché etag o last-modified vengono modificate), elimina i contenuti obsoleti, disconnette i download in corso e genera un errore, che richiede il client a riprovare. Per ridurre il problema, emetti invalidazioni per i file memorizzati nella cache con intervallo di byte in fase di aggiornamento.

Ottimizza il monitoraggio e il logging

Le seguenti pratiche consigliate consentono di ottimizzare Monitoring e Logging.

Assicurati che il logging sia abilitato per Cloud CDN

Una best practice per la gestione di Cloud CDN è garantire che il logging sia abilitati per tutti i backend abilitati per Cloud CDN.

Usa la dashboard di monitoraggio personalizzata per Cloud CDN

Per garantire maggiore affidabilità e prestazioni, una best practice consiste nel esaminare le metriche di monitoraggio relative a Cloud CDN. Un ottimo punto di partenza è la dashboard di monitoraggio personalizzata di Cloud CDN.

Esaminare i test sul rendimento di terze parti

Esaminare i report di provider di terze parti, come disponibilità, latenza e sulla velocità effettiva dei report forniti da Citrix Radar.