Problemi comuni relativi alla CDN e come risolverli

Se il tuo sito Web è ancora lento nonostante l'utilizzo di una CDN, controlla questi problemi comuni della CDN.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Risoluzione dei problemi relativi alle prestazioni lente di una CDN
  • Correggere contenuto obsoleto proveniente dalla cache della CDN
  • Identificare altri problemi comuni di caching

Copia link dell'articolo

Problemi comuni relativi alla CDN e come risolverli

Una rete di distribuzione dei contenuti (CDN) è un gruppo distribuito di server che memorizzano nella cache, ovvero salvano copie di contenuti Web per una rapida distribuzione agli utenti finali. Oltre alla memorizzazione nella cache, le CDN possono contribuire ad accelerare la distribuzione dei contenuti e a migliorare l'esperienza utente in vari modi, ad esempio supportando lo streaming video, il contenuto dinamico e la crittografia e autenticazione SSL.

Qualsiasi sito Web può beneficiare di una CDN. Le CDN si trovano tra gli utenti finali e i server di origine. Riempiono le richieste degli utenti con qualsiasi contenuto presente nella cache prima di inoltrare le richieste ai server di origine. Questo velocizza il caricamento di un sito Web per gli utenti. È un po' come se comprare cibo in un negozio di alimentari fosse molto più veloce che attraversare il paese e visitare diverse aziende agricole e fabbriche per la spesa settimanale.

Risoluzione dei problemi delle CDN: come risolvere i problemi di una CDN

Nella maggior parte dei casi, la registrazione a una CDN dovrebbe rendere rapidamente un sito Web più veloce, aiutare i gestori di siti Web a risparmiare sui costi della larghezza di banda, migliorare l'affidabilità del sito e aumentare la resistenza a determinati attacchi informatici (come gli attacchi DDoS). Tuttavia, a volte i problemi della CDN impediscono alle risorse Web di beneficiare di questi vantaggi. Ecco alcuni potenziali problemi relativi alla CDN, i fattori che possono causarli e i suggerimenti per risolverli.

Problemi di prestazioni lente della CDN

Diversi problemi possono impedire a un sito Web di ottenere benefici in termini di prestazioni o addirittura rallentarlo quando si utilizza una CDN.

Mancanza di copertura globale: a seconda della CDN utilizzata, le prestazioni possono essere incoerenti in diverse aree geografiche. Assicurati di utilizzare una CDN che memorizzi nella cache i contenuti ovunque sulla sua rete e che disponga di sedi globali vicine agli utenti finali.

Problemi con il server di origine: se la CDN non riesce a ottenere il contenuto dal server di origine, non può memorizzarlo nella cache o servirlo. Ciò può accadere quando i server di origine subiscono tempi di inattività o quando il traffico tra i server di origine e la CDN viene bloccato da colli di bottiglia nella rete.

Contenuti dinamici non caricati dal server di origine: i contenuti dinamici non possono essere memorizzati nella cache, pertanto, se il server di origine non risponde correttamente alle richieste, la pagina potrebbe caricarsi lentamente o non essere caricata, indipendentemente dal comportamento di memorizzazione della CDN nella cache. Alcune CDN, come quella di Cloudflare, sono integrate con servizi aggiuntivi che possono accelerare la distribuzione di contenuti dinamici.

File non ottimizzati: contenuti di grandi dimensioni o determinati tipi di file potrebbero non essere memorizzati nella cache, a seconda dei limiti della CDN. Assicurati che tutti i contenuti siano ottimizzati per una consegna rapida e una buona esperienza utente. Molti CDN dispongono di funzionalità per ottimizzare, "minimizzare" (ridurre le dimensioni del file) o comprimere i contenuti.

Risorse che bloccano il rendering: si tratta di elementi di una pagina che impediscono il caricamento del resto della pagina. I file CSS (fogli di stile CSS), ad esempio, sono risorse di blocco del rendering. Se il resto di una pagina è in caching correttamente, ma i file CSS no, allora il file CSS deve essere recuperato dal server Web prima che gli altri elementi della pagina possano essere serviti dalla cache. Questo può rallentare i tempi di caricamento della pagina. Assicurati che le risorse che bloccano il rendering siano memorizzate nella cache oppure riprogetta la pagina in modo che le risorse non necessarie non siano incluse o vengano caricate per ultime.

Script di terze parti non memorizzati nella cache: molti siti Web integrano script da altre origini; tali origini potrebbero non utilizzare la stessa CDN. Il caricamento di questi script di terze parti può richiedere più tempo se i server di origine sono geograficamente lontani, non ottimizzati per la distribuzione o sovraccarichi. Se gli script sono risorse che bloccano il rendering, ciò può rallentare l'intera pagina. Utilizza gli strumenti per sviluppatori di Chrome per valutare cosa si sta caricando lentamente e da dove proviene. Valuta la possibilità di sostituire gli script che rallentano costantemente una pagina o di utilizzare script ospitati tramite CDNJS, una rete di distribuzione di contenuti gratuita che fornisce migliaia di librerie JavaScript e CSS.

Il rapporto di riscontri della cache CDN è basso: nella memorizzazione nella cache, un "cache miss" (o mancata corrispondenza della cache) significa che il contenuto richiesto non è stato trovato nella CDN e deve essere recuperato dal server di origine. Un "cache hit" invece indica che il contenuto richiesto è stato trovato nella cache ed è stato servito dalla cache. La percentuale di cache hit (o riscontri della cache) misura il rapporto tra hit e miss per un determinato sito Web. Un basso rapporto di riscontri della cache indica che il grosso della pagina Web non viene servito dalla cache e che il browser dell'utente deve invece prelevarla dal server di origine. Ogni mancata corrispondenza della cache può comportare anche costi di uscita per i siti Web, a seconda del provider di hosting, con conseguenti costi operativi più elevati per tali siti Web.

Bassi tassi di riscontro della cache possono verificarsi per diversi motivi:

  • Regole della cache: le regole della cache possono determinare cosa viene memorizzato nella cache e per quanto tempo. Se le regole della cache non sono configurate correttamente, il contenuto corretto non verrà memorizzato nella cache. I provider di CDN dovrebbero offrire un modo per risolvere i problemi di caching su URL specifici. Vedi, ad esempio, Cloudflare Trace.
  • Livelli di caching: le risorse possono essere memorizzate nella cache in modo diverso a seconda del tipo di URL. Alcune CDN possono memorizzare nella cache lo stesso contenuto in base all'URL di base, indipendentemente dalle stringhe di query aggiunte all'URL, oppure contenuti diversi per ogni stringa di query, oppure indipendentemente dalle stringhe di query (una stringa di query si trova dopo un punto interrogativo nell'URL, ad esempio "example.com/image.jpg?with=query"). Le risorse possono essere fornite in modo diverso a seconda della stringa di query allegata agli URL e talvolta questo non è un comportamento previsto. Per risolvere il problema, modifica le impostazioni dei livelli di caching.
  • Intestazioni Cache-control: le intestazioni Cache-control sono allegate alle risposte HTTP dai server di origine. Queste intestazioni definiscono le regole di caching per i browser e per intermediari come le CDN. A seconda del provider, le intestazioni Cache-control potrebbero entrare in conflitto con le regole di memorizzazione nella cache impostate nella CDN. Pertanto, confrontale tra loro per assicurarti che entrambe siano impostate correttamente, nel caso in cui una sovrascriva l'altra.

Tieni presente che il tasso di riscontri della cache non è l'unico parametro importante per le prestazioni di un sito Web. Una visione olistica delle prestazioni Web include i Core Web Vitals e altre metriche che influiscono sull'esperienza utente, sulla SEO e sull'ottimizzazione dell'IA.

Contenuti obsoleti visualizzati sul sito Web

Se il contenuto viene caricato rapidamente, ma è sbagliato e non riflette gli aggiornamenti o le modifiche recenti, il time-to-live (TTL) potrebbe essere impostato su un valore troppo alto per il contenuto memorizzato nella cache. Il TTL è un'impostazione che misura, in secondi, per quanto tempo un contenuto deve rimanere memorizzato nella cache prima che la CDN (o il browser) ne aggiorni la copia salvata. Riduci il TTL per i contenuti che non si aggiornano abbastanza rapidamente. In alternativa, prova a svuotare la cache in modo che la CDN recuperi i contenuti dal server di origine.

I contenuti aggiornati frequentemente potrebbero richiedere regole di caching specifiche. In alcuni casi, non dovrebbero essere affatto memorizzati nella cache. Cloudflare ha una funzione di eliminazione che consente di eliminare immediatamente dalla cache il contenuto di una pagina Web.

Configurazioni DNS

Se un dominio e tutti i suoi sottodomini non puntano alla CDN, i contenuti associati a tali domini non verranno memorizzati nella cache e il sito Web non otterrà alcun vantaggio in termini di prestazioni.

Assicurati che i sottodomini siano configurati correttamente. I sottodomini (configurati tramite un record CNAME) devono essere configurati separatamente. Se un sottodominio non è protetto dalla CDN, anche se il dominio primario lo è, il suo contenuto non verrà memorizzato nella cache.

Errori SSL con la CDN

Le CDN forniscono spesso certificati SSL per i siti Web. I certificati SSL aiutano ad autenticare la connessione dell'utente al sito Web, a crittografare i dati sensibili immessi dall'utente e a impedire la visualizzazione di avvisi di sicurezza nel browser per gli utenti. Tuttavia, a volte un sito Web fornisce contenuti "misti", ovvero contenuti di una pagina Web forniti tramite una connessione SSL e altri tramite una connessione non sicura. Gli utenti potrebbero ricevere avvisi del browser sulla sicurezza della pagina, la pagina potrebbe non caricarsi o potrebbe caricarsi più lentamente (poiché il browser tenta senza successo di avviare handshake TLS).

Questi errori possono verificarsi se una pagina Web contiene contenuti provenienti da fonti esterne o da sottodomini non elencati nel certificato SSL. La console per sviluppatori di Chrome può aiutare gli sviluppatori a risolvere gli errori relativi ai contenuti misti: gli sviluppatori possono vedere da dove vengono caricati i contenuti e quali URL vengono utilizzati.

Altri errori SSL potrebbero essere correlati al certificato del dominio. Scopri di più sui problemi comuni di SSL qui.

Hai bisogno di supporto con la CDN di Cloudflare? Unisciti alla community di Cloudflare per supporto gratuito e approfondimenti da utenti esperti di Cloudflare.

 

DOMANDE FREQUENTI

Cos'è una CDN?

Una CDN (Content Delivery Network) è un gruppo di server distribuiti che memorizzano copie di contenuti Web per distribuirli rapidamente agli utenti. Oltre al caching, le CDN aiutano ad accelerare la distribuzione dei contenuti e a migliorare l'esperienza utente tramite servizi che supportano lo streaming, i contenuti dinamici, la mitigazione degli attacchi DDoS e l'utilizzo di TLS.

In che modo una CDN può migliorare le prestazioni di un sito Web?

Le CDN aiutano i siti Web a caricarsi più velocemente per gli utenti, posizionandosi tra gli utenti finali e i server di origine e accelerando la distribuzione dei contenuti del sito Web. Lo fanno riducendo la distanza tra gli utenti e il contenuto richiesto e ottimizzando i file in modo da poterli distribuire più velocemente.

Quali sono alcuni dei motivi per cui una CDN potrebbe funzionare lentamente?

Diversi problemi possono causare prestazioni lente della CDN, tra cui la mancanza di portata globale, problemi con il server di origine, contenuti dinamici che non vengono caricati correttamente, file non ottimizzati, risorse che bloccano il rendering, script di terze parti non memorizzati nella cache o un basso tasso di hit nella cache.

Cos'è un basso rapporto di riscontri della cache e perché è importante?

Un basso tasso di riscontri della cache indica che la maggior parte dei contenuti di una pagina Web non viene servita dalla cache della CDN, costringendo il browser dell'utente a recuperarla dal server di origine. A seconda dell'architettura della pagina Web in questione, ciò può comportare tempi di caricamento della pagina più lenti e costi operativi potenzialmente più elevati a causa delle tariffe di uscita.

Cosa causa un basso tasso di riscontri della cache?

Bassi tassi di riscontri della cache possono derivare da regole di cache configurate in modo errato, livelli di caching variabili per le risorse in base al tipo di URL (come le stringhe di query) o conflitti tra le intestazioni cache-control dai server di origine e le regole di memorizzazione della CDN nella cache.

Perché su un sito Web che utilizza una CDN potrebbero apparire contenuti obsoleti?

I contenuti obsoleti possono essere visualizzati se l'impostazione Time To Live (TTL) per i contenuti nella cache è troppo elevata. Il Time To Live (TTL) determina per quanto tempo il contenuto viene memorizzato nella cache prima che la CDN o il browser ne aggiorni la copia. Ridurre il Time To Live (TTL) o cancellare la cache può risolvere il problema.