Velocizziamo il caricamento del nostro sito con gzip

La velocità di caricamento del nostro sito è una delle caratteristiche principali che possono portare al successo o al fallimento.
Quindi come possiamo comportarci per migliorare i tempi di caricamento?

Tra i vari comportamenti che possiamo adottare per velocizzare il caricamento del sito, possiamo contare su una tecnologia software che esiste da quasi 3 decenni, nota come Gzip, contrazione di GNU zip, rilasciato come open source.

Questa tecnologia venne rilasciata nella sua prima versione, la 0.1 il 31 ottobre 1992 e venne ufficialmente rilasciata con la versione 1.0 l’anno successivo, più precisamente nel febbraio 1993.

Cos’è Gzip

GZIP riduce le dimensione delle pagine su un server Web prima che vengano inviate al browser del visitatore. Ciò consente di risparmiare larghezza di banda e di caricare le pagine e di essere visualizzato significativamente più velocemente. Quindi il browser Web dei visitatori decomprime automaticamente le pagine. Questa compressione e decompressione richiede solamente una frazione di secondo.

Gzip

Perché impostare Gzip

La risposta più semplice sarebbe che velocizza il caricamento del sito. La seconda ragione, sempre legata alla prima, è che sempre più spesso i nostri siti vengono visualizzati da dispositivi mobile e che specialmente in paesi come l’Italia, dove il 3G la fa da padrone. Infatto solo un numero ridotto di utenti può beneficiare in pieno delle nuove tecnologie 4G anche se, sempre più spesso, i cellulari vengono venduti come 4G+, ma in realtà supportano solamente una connessione 3G+.

Se vogliamo quindi che sempre più utenti possano visualizzare il nostro sito in tempo ragionevoli, necessitiamo di piattaforme reattive e delegare agli utenti la sola consultazione.

Come funziona Gzip

Il sistema Gzip, comprime all’origine i file presenti sul server, prima che essi vengano inviati ai Client. Quindi dobbiamo decidere con attenzione quali risorse comprimere anche in base alla potenza del server/hosting di cui disponiamo. A volte, il gioco non vale la candela e potrebbe anzi, portare a peggioramenti nella consultazione del sito. Infatti, qualora l’hosting sia molto lento, potrebbe darsi che la compressione dei file da parte del server allunghi i tempi in cui il file viene elaborato considerando che il file compresso, deve venir anche decompresso da parte del client.

Considerando che spesso i client hanno una potenza di calcolo intermedia, dobbiamo anche analizzare il traffico medio che riceviamo, grazie alle analisi sugli utenti, sui dispositivi e sui sistemi operativi. Grazie a questi dati, dobbiamo decidere che cosa comprimere e cosa no. Ad esempio, se i nostri utenti utilizzano dispositivi per la consultazione dei soli testi, è inutile chiedere al server di servire anche le immagini compresse, che anche se non sono presenti nella pagina, richiedono tempo al server. Consideriamo tempi molto brevi, pochi millisecondi, ma che se moltiplicati per migliaia di utenti, portano ad un sovraccarico. La tecnologia Gzip fornisce 9 livelli di compressione, solitamente impostati nel file php.ini. I livelli di compressione vanno dall’1, che equivale ad un livello di compressione minimo e molto veloce, ad un livello di compressione 9, che richiede più tempo macchina, ma che fornisce anche file molto ridotti.

Abilitiamo la compressione Gzip

Alternative a Gzip

Gzip non è comunque l’unica modalità per servire file compressi. Esiste infatti anche la modalità di compressione Deflate, che è leggermente più performante su server  con poche risorse

Tempi di compressione e decompressione

Verificare le prestazioni del sito con Gzip

Tramite questo link, potrete verificare l’effettivo risparmio di banda con Gzip.

I risultati ottenuti con Gzip

E come vedete nell’immagine, con Gzip, ho ottenuto una riduzione superiore all’80% delle risorse.