Questo articolo è stato originariamente scritto da me sulla versione inglese del magazine con il titolo Automating Web Performance: Mod_pagespeed Case Study e ha ricevuto un bel Kudos da Ilya Grigorik su Google+ 🙂
Pochi giorni da Google ha annunciato l’uscita dalla beta di mod_pagespeed e questa è sicuramente una ottima notizia per i malati di web performance come me.
Vi invito assolutamente a leggervi questo post di Ilya Grigorik e di guardare il seguente video che spiega cosa avviene dietro le quinte.
Proviamo a far girare mod_pagespeed su di un sito non ottimizzato
Il sito che userò è pallamanoitalia.it e splitterò il test in:
- Test Home page
- Test Pagina articolo
e il metodo sarà:
- non ottimizzato
- ottimizzato leggermente (usando i filtri standard di mod_pagespeed)
- ottimizzato pesantemente (aggiungendo quasi tutti i filtri di mod_pagespeed)
Test di ottimizzazione automatica della home page
1.1 Home page non ottimizzata
Nella seguente immagine possiamo vedere come si comporta la pagina senza nessuna ottimizzazione
e di seguito la cascata di richieste
1.2 Home page ottimizzata leggermente
Di seguito abiliterò mod_pagespeed usando il CoreFilters e vediamo cosa accadrà
e di seguito la cascata di richieste
1.3 Home page ottimizzata pesantemente
Nel seguente test cambierò da CoreFilters a ModPagespeedRewriteLevel PassThrough usando moltissimi filtri come convert_jpeg_to_progressive, convert_png_to_jpeg, convert_jpeg_to_webp, insert_image_dimensions, inline_images, recompress_images, resize_images, inline_preview_images, resize_mobile_images, lazyload_images e defer_javascript.
Ci tengo a precisare che non ho fatto alcuna particolare configurazione e ottimizzazione del modulo, ma lo ho semplicemente attivato con qualche modulo aggiuntivo.
Cosa succederà? Osserviamo.
e di seguito la cascata di richieste
Risultati
# | Load time | 1st byte | Start render | Request | Bytes |
---|---|---|---|---|---|
1.1 Non ottimizzata | 8.622s | 3.377s | 5.429s | 94 | 787Kb |
1.2 Leggermente ottimizzata | 6.383s | 1.525s | 3.465s | 93 | 781Kb |
1.3 Pesantemente ottimizzata | 3.044s | 1.401s | 1.976s | 23 | 255Kb |
Test di ottimizzazione automatica della pagina articolo
2.1 Pagina articolo non ottimizzata
2.2 Pagina articolo leggermente ottimizzata
2.3 Pagina articolo pesantemente ottimizzata
Risultati
# | Load time | 1st byte | Start render | Request | Bytes |
---|---|---|---|---|---|
2.1 Non ottimizzata | 7.212s | 1.338s | 3.129s | 81 | 666Kb |
2.2 Leggermente ottimizzata | 6.400s | 1.013s | 2.405s | 80 | 689Kb |
2.3 Pesantemente ottimizzata | 3.173s | 1.361s | 1.845s | 37 | 253Kb |
Un risultato davvero notevole
Il modulo di Apache mod_pagespeed si comporta molto bene nella prova su strada e offre una buonissima ottimizzazione automatica delle pagine web (lato performance) senza nessuna particolare contro indicazione. Questa è sicuramente una ottima notizia per tantissimi possessori siti web che non hanno le capacità per ottimizzare i siti a manina soprattutto per quanto riguarda il frontend. Questo modulo può decisamente contribuire in modo consistente a rendere l’intero web un posto più veloce con il minimo sforzo.
Va detto che ci sono anche altri servizi che offrono l’automazione dell’ottimizzazione come ad esempio Cloudflare Optimizer che uso come test in qualche sito con ottimi risultati.
Automatizzare le Ottimizzazioni delle Web Performance o No?
Penso che ottimizzare in modo automatico delle attività ripetitive sia una cosa molto utile e in modo ancora maggiore in quei casi dove vanno risolti problemi complessi (dovuti a problemi architetturali che a volte sono impossibili da prevedere da un punto di vista esterno) in modo semplice e veloce.
Se invece siamo in grado di iniziare da zero allora la miglior soluzione è e sarà sempre quella di sviluppare tutto con un occhio attento alle “best practices” effettuando manualmente tutte le dovute ottimizzazioni e scelte.
Il bello di questa storia è che l’ottimizzazione manuale non vieta quella automatica e viceversa, quindi penso che la domanda non debba nemmeno esistere.
Monitoring degli utenti
Nei prossimi giorni vi terrò aggiornati sui risultati reali di questa ottimizzazione automatica controllando i tempi di caricamento lato utente. Rimanete sintonizzati!
La velocità ad oggi.
Non esiste un equivalente per siti che girano su webserver IIS? Saluti, Boris.
Che io sappia stanno sviluppando per NGINX, ma dubito che possano sviluppare per qualcosa che non sia open source.
Sai indicarmi degli hosting Italiani che supportano questo modulo?
Purtroppo no 🙂
Ciao Andrea e complimenti per l’articolo, interessante come sempre.
Avrei una domanda: come si attiva il mod_pagespeed? Tramite .htaccess come il mod_deflate?
Grazie
Ciao Michael,
devi abilitarlo nel suo modulo dopo averlo installato e settare su che domini usarlo.
Scusa l’ignoranza ma.. se ho l’hosting condiviso e quindi non posso “metter mano” alle configurazioni del server, è possibile far qualcosa solo tramite .htaccess?
Grazie delle delucidazioni…
Ciao Michael di sicuro se non hai accesso al server non puoi installare il modulo e questo è il primo problema…in ogni caso sì ci sono direttive utilizzabili da .htaccess, ma non tutte quindi se a monte non ti abilitano la wildcard per tutti i domini è dura.
Qui trovi le informazioni sulla configurazione
https://developers.google.com/speed/docs/mod_pagespeed/config_filters
Ciao Andrea, mod_pagespeed è ancora in beta?
Vorrei chiedere al mio cloud hosting di installarlo, ma temo che mi risponderanno picche qualora fosse ancora in beta.
Ciao Matteo,
attualmente mod_pagespeed ha anche una versione stabile quindi puoi provare.