Categorie
Domini

Come individuare i colli di bottiglia delle performance di un sito Web

Analisi della performance

Analisi della performance

Per conoscere il tempo medio di caricamento di una pagina possiamo utilizzare un qualsiasi strumento di analisi delle performance. A titolo di esempio proviamo ad eseguire un’analisi usando uno strumento gratuito disponibile on-line: LoadImpact. Chi non conoscesse questo strumento può trovare un’introduzione all’argomento qui. Supponiamo di eseguire l’analisi delle performance nel nostro sito e di ottenere un risultato come quello riportato qui sotto

Figura 1 – Analisi delle performancecounter_01

Un’analisi di questo tipo è piuttosto deludente. Il tempo medio di attesa di una pagina è circa pari a 2 secondi, decisamente troppo rispetto agli standard moderni. Un tempo medio di attesa dovrebbe oscillare attorno ad 1 secondo, non di più. Teniamo conto del fatto che parliamo di un valore medio. Nel caso qui sopra alcune pagine impiegano sicuramente più di 2 secondi per essere caricate. Siccome un sito presenta spesso delle pagine eterogenee è normale attendersi che esso abbia alcune pagine molto leggere (veloci) e altre più pesanti (lente). Il tempo di caricamento cambia anche a parità di pagina, perché le diverse librerie esterne (widget di terze parti) possono richiedere un tempo di caricamento che cambia da un momento all’altro. Ecco perché dovremmo mirare ad un valore medio inferiore ai 2 secondi. Ad esempio, con un valore medio di 1 secondo potremmo avere pagine si aprono quasi istantaneamente e pagine che si aprono nell’arco di 2-3 secondi.

Per capire qual è il problema possiamo usare un normale browser. Quasi ogni browser dispone di uno strumento per sviluppatori che misura i tempi di risposta di ogni singola attività HTTP. Ad esempio, usando Firebug, lo strumento di analisi di Firefox, possiamo individuare quello che sembra essere il collo di bottiglia delle performance

counter_02

Figura 2 – Individuazione del collo di bottiglia

Prendiamo come riferimento il codice di Google Analytics, che impiega solamente 140ms ad essere caricato. Questo è un ottimo risultato, che indica la scala dei valori attesi per il caricamento di un singolo componente JavaScript. Subito dopo troviamo un contatore delle visite, che impiega addirittura 760ms per essere caricato. Un tempo così lungo è assolutamente inaccettabile, anche perché potrebbe non dipendere dalla nostra piattaforma: se abbiamo scelto un contatore esterno, offerto da un servizio online, i tempi di caricamento non dipendono dal nostro server, né del client dell’utilizzatore finale. L’unica soluzione in questo caso è quella di eliminare il contatore delle visite. Questa scelta è rafforzata dalla considerazione che i contatori delle visite non sono più molto in voga: a meno che non sia assolutamente necessario tenerlo sul sito, in situazioni come questa consigliamo vivamente di eliminarlo. Specialmente se si presenta con una grafica obsoleta come quella di figura 3.

counter_03

Figura 3 – Contatore obsoleto

Nota importante: i tempi indicati dallo strumento come Firebug non sostituiscono i risultati ottenuti tramite LoadImpact (o simili). I tempi forniti da Firebug possono cambiare ogni volta che ricarichiamo la pagina, ovvero descrivono la singola esperienza di caricamento di quella pagina. I valori forniti da uno strumento come LoadImpact descrivono invece un’analisi estesa nel tempo, che tiene conto sia della variazione del carico, sia della variabilità dei tempi di caricamento.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.