Expertise 2013 - Potenziare le prestazioni di apache con mod page speed

Post on 24-Jun-2015

100 views 1 download

Tags:

Transcript of Expertise 2013 - Potenziare le prestazioni di apache con mod page speed

Andrea Mauro21.11.2013, EDUCAFE, METID – Politecnico di Milano

Potenziare le prestazioni di Apache con

Mod PageSpeed

Effetti della lentezza di caricamento

- Insoddisfazione dell’utente

- Aumento del bounce rate

- Abbandono del sito

“75% of people would not return to websites that took longer than 4 seconds to load” (2006)http://news.bbc.co.uk/2/hi/technology/6131668.stm

“40% of shoppers will wait no more than three seconds before abandoning a retail or travel site” (2009) http://www.akamai.com/html/about/press/releases/2009/press_091409.html

Esperimento di google

Nel 2006 google fa un esperimento.

Viene fatto un sondaggio su alcuni utenti google per richiedere un parere sul numero ottimale di risultati da visualizzare per pagina.

Per un periodo di test google ha alzato il numero di risultati per pagina a 30 (come richiesto dagli utenti)

Il traffico e gli incassi pubblicitari in quel periodo sono scesi del 20%

Il tempo di caricamento era variati da 0,4 secondi (10 risultati) a 0,9 secondi (30 risultati)

http://glinden.blogspot.it/2006/11/marissa-mayer-at-web-20.html

La nascita di mod_pagespeed

Nel 2010 google ribadisce di voler rendere internet più veloce

Annuncia che da quel momento l’algoritmo di ranking del suo motore di ricerca terrà conto della velocità di caricamento dei sitihttp://googlewebmastercentral.blogspot.nl/2010/04/using-site-speed-in-web-search-ranking.html

Qualche mese dopo rilascia la prima versione di mod_pagespeed

Cos’è mod_pagespeed?

Progetto open source realizzato da google

Modulo da installare su un webserver apache

Una volta configurato, permette di offrire pagine ottimizzate ai visitatori di un sito migliorandone la velocità di navigazione e riducendo il traffico generato

Esempio 1 – Google AdSense

Esempio 2 - androidacademy.com

Esempio 4 – Sito mobile di test

Su quali principi si basa?

Ogni regola di ottimizzazione è configurabile

Riduzione del numero di connessioni al server per ogni pagina visitata

Riduzione dei byte scaricati (HTML, CSS, Javascript, immagini)

Pulizia del codice

- Pulizia codice HTML (rimozione spazi inutili, ripetizioni, etc.)

- Compressione Javascript (minify)

- Compressione CSS

Ottimizzazione delle immagini

- Ricompressione delle immagini dove possibile

- Resize delle immagini più grandi del necessario

- Ulteriore resize su schermi a bassa risoluzione (mobile)

- Conversione al formato webp su browser compatibili (chrome, opera)

Riduzione delle connessioni

- Merge dei file CSS

- Merge dei file Javascript

- Inclusione di piccole immagini direttamente nel codice HTML

- Miglioramento della gestione cache

- Modulo spdy opzionale per convogliare più connessioni in una

Mod_spdy

- Protocollo di comunicazione sperimentale alternativo ad https

- Stand-alone o integrabile con mod_pagespeed

- Al momento compatibile solo con chrome

- Convoglia più richieste al server in una sola, eliminando il tempo richiesto per aprire e chiudere più connessioni

- Compressione dell’header http

Distribuzione dei contenuti – Liferay 6.1

https://test.beep.polimi.it/

4,5 secondi – 2,6 secondi

Distribuzione dei contenuti – Joomla 2.5

http://pso.istruzione.it

7,8 secondi - 2,9 secondi

Distribuzione dei contenuti – Moodle 2.5

http://dev.lfi.rwth-aachen.de:8080/moodle_site/moodle/

2,9 secondi - 1 secondo

Distribuzione dei contenuti – Liferay 6.0

http://www.triwu.it/

15,3 secondi – 5,4 secondi

Requisiti

- Apache 2.4

- Server linux (CentOS, Fedora, Debian o Ubuntu)

Proposte di testing

Beep Mobile (Liferay)

Sito Metid (Joomla)

Sicurezza (Moodle)

Grazie per l’attenzione

Andrea Mauro21.11.2013, EDUCAFE, METID – Politecnico di Milano