Continua la rubrica sui falsi miti relativi alla velocità dei siti. (Se ti sei perso gli altri, trovi i link in fondo all’articolo)

Oggi ti parlo della tanto famosa quanto incompresa CACHE, nello specifico la cache SERVER-SIDE ovvero quella che ti viene spesso consigliata di abilitare sul server.

Semplificando all’estremo, la cache non è altro che un deposito temporaneo di informazioni che ha lo scopo di velocizzare le operazioni ripetitive.

Quando il browser richiede una pagina, il server deve eseguire il codice di programmazione in essa contenuto, eseguire delle query al database e infine restituire un risultato (solitamente codice html) utilizzabile dal browser. Questa operazione richiede un certo tempo, tempo che varia in base al codice contenuto nella pagina e alle risorse del server disponibili in quel momento.

Quando la cache è attiva, il server prima di procedere con l’esecuzione del codice, verifica se nella cache è già presente una copia della risorsa richiesta e in caso affermativo la restituisce, evitando di eseguire tutte le operazioni da capo.

Il guadagno in termini di prestazioni può essere notevole, in quanto per il server restituire un contenuto dalla cache è molto meno oneroso in termini di tempo e risorse utilizzate (cpu, memoria e accesso al disco).

Questo significa anche che il server può gestire più richieste del normale in quanto le risorse normalmente a disposizione sono utilizzate meno.

Questa soluzione chiamata FULL PAGE CACHE o FPC però non funziona bene con i siti e-commerce e in generale nei siti in cui ogni utente deve poter vedere un contenuto differente.

Il classico esempio è quello dell’ecommerce con listini prezzi differenti, o che dispone di una wish list o della lista dei prodotti visti di recente, che ovviamente sarà unica per ogni utente connesso al sito, così come sarà unico anche il contenuto del carrello.

Se ti sembra cool che il server possa gestire più richieste di quelle che è normalmente in grado, pensa a cosa può succedere a un server “al limite“ che deve gestire un picco di traffico improvviso e che non dispone di tutte le pagine in cache. 

Nello scenario migliore il server inizia a rallentare sempre di più, nel peggiore si pianta e inizia a restituire errori della famiglia 500 (500, 502, 503, 504) poichè non ha più risorse disponibili.

Quando esegui un test della velocità con gli strumenti disponibili online corri il rischio di analizzare dati “dopati” dal sistema di cache ma soprattutto stai simulando un analisi che non rispecchia l’esperienza d’uso reale dei tuoi visitatori sul sito.

Devi quindi sapere se stai analizzando un sito con cache attiva oppure no e se in quel momento il carico del server rispecchia quello solito. 

La cache quindi non serve a nulla?


No, non sto dicendo che non serve. La cache è sicuramente utile ma da sola non risolve il problema della velocità e anche quando implementata correttamente ricordati che impatta solo sul tempo di risposta del server che raramente pesa più del 10% sul tempo di caricamento complessivo.

Devi sapere che esistono anche altri 3 tipi di cache oltre alla FPC che hanno modalità di funzionamento e obiettivi differenti tra loro che si possono utilizzare in sostituzione o in aggiunta.

Quando esegui un test della velocità con gli strumenti disponibili online corri il rischio di analizzare dati “dopati” dal sistema di cache ma soprattutto stai simulando una situazione che non rispecchia l’esperienza d’uso reale dei tuoi visitatori sul sito.

Devi quindi sapere se stai analizzando un sito con cache attiva oppure no e se in quel momento il carico del server rispecchia quello solito, in modo da poter fare una fotografia della situazione quanto più reale possibile.

Per farlo esistono diverse tecniche e strumenti che potrai conoscere durante la prossima edizione del workshop sulle web performance! Trovi tutte le informazioni nel box qui sotto

Sono aperte le iscrizioni alla terza edizione del workshop “Ottimizzare siti fa schifo… se non sai come farlo”

il primo workshop italiano incentrato sul miglioramento delle web performance per rendere i siti a prova di Core Web Vitals.

Trovi tutte le informazioni cliccando sul bottone qui sotto:

Voglio saperne di più