Cosa sono le web performances? Oggi ci concentriamo sulle metriche relative al back-end che si riferiscono a come il vostro server passa i contenuti al browser dei vostri utenti: in pratica misurano tutto quello che succede da quando l'utente prova a collegarsi a quando può iniziare ad interagire con gli elementi del sito. Data Center, DSP, ultimo miglio sono tutti fattori inclusi in queste metriche. Qui i tempi sono ancora più ristretti rispetto alle metriche relative al front-end perché quella più lunga dovrebbe portare via al processo circa un secondo in un mondo perfetto. Anche se che queste metriche non impattano direttamente sulla User Experience (e lo fanno solo indirettamente) e quindi sulla percezione diretta dell'utente, se abbiamo un back-end lento l'intero processo ne uscirà rallentato a sua volta. A proposito di metriche:
- DNS Time, è il tempo che il Provider impiega ad associare il DNS all'IP sottostante a partire da un immenso database. Il 50simo percentile della popolazione di siti è intorno ai 60ms.
- Connection Time, è il tempo impiegato dalla chiamata del browser a quando questo riesce a stabilire un contatto con il server. La media è intorno ai 150ms, ma questo può dipendere da molti fattori esterni e non controllabili come la location da cui ci si connette, quanto è occupato il server in quel momento, i bot dei motori di ricerca o quanto il sito è trafficato in quel momento. Proprio per questi motivi non è sempre utile tenere monitorata questa metrica ma si può effettuare una specie di test da sforzo per valutare come il sito reagisce alla pressione con strumenti (a pagamento) come LoadStorm. Se si trovano seri problemi in questo punto, la soluzione potrebbe essere quella di scalare l'infrastruttura.
- First Byte Time, dopo che è stabilita la connessione il primo byte parte dal server e prima o poi atterra nel computer dell'utente. La metrica in oggetto misura la durata di questo viaggio. L'unico impedimento per questa metrica è la scarsa bontà del codice con cui il sito è stato scritto: il contenuto statico (quello più standardizzato) deve essere sganciato dal resto e spedito immediatamente senza aspettare che si faccia accompagnare dal contenuto dinamico che solitamente, tra le altre cose, pesa di più.
- Last Byte Time, al contrario l'ultima metrica registra il tempo che impiega l'ultimo byte del sito ad arrivare nel browser del nostro utente: in definitiva quanto ci vuole per inviare interamente il sito. Un tempo medio accettabile è intorno agli 0,7 secondi e dipende in larga parte da codice non ottimizzato o da query scritte in maniera approssimativa nel database.
In linea di massima la misurazione di queste metriche avviene attraverso strumenti, alcuni dei quali sono già stati affrontati. L'interpretazione dei dati e la ricerca delle cause, per le metriche di backend in particolare, invece può essere più complicato proprio per la molteplicità delle cause che possono intervenire.
Hai trovato l'argomento interessante? Leggi gli altri articoli sulle Web Performances:
Luca Bizzarri