Occhio alla latenza!

Nell’epoca in cui affiancare la parola cloud a prodotti di web hosting è sempre più una questione di marketing, risulta tra i fattori determinanti dell’esperienza utente sul web la velocità del servizio di hosting.

A influenzare la velocità lato server vi sono elementi come il tipo di hypervisor utilizzato, le quantità di memoria e CPU garantite, le caratteristiche della connessione di rete, il tipo di storage (SAN, SSD).

Altri aspetti da tenere a mente sono il tipo di tecnologia utilizzata per costruire la propria web application (Java, PHP, Node.js, ASP.NET, RoR), la presenza/assenza di strati di cache (Redis, Memcached) e/o di minimizzazione delle pagine HTML e degli asset, etc.

Dulcis in fundo lato client non possiamo trascurare di considerare in prima istanza le caratteristiche del dispositivo e la qualità del servizio di connettività dell’utente.

A quanto fin qui trattato dobbiamo necessariamente aggiungere la latenza come metrica che affligge le performance dei servizi web. Prima di proseguire nel ragionamento rinfreschiamo la definizione di latenza da Wikipedia.

La latenza (o tempo di latenza), in informatica, di un sistema può essere definita come l’intervallo di tempo che intercorre fra il momento in cui arriva l’input al sistema ed il momento in cui è disponibile il suo output. In altre parole, la latenza non è altro che una misura della velocità di risposta di un sistema.

La latenza è strettamente dipendente dalla posizione dell’utente rispetto alla server farm che ospita l’applicazione web: maggiore è la distanza tra il server e l’utente, maggiore è la latenza. A ben guardare il rapporto che c’è tra la distanza e la velocità di comunicazione può essere compreso considerando che, ad esempio, se esistesse un collegamento diretto in fibra ottica tra l’utente e il server, la velocità di comunicazione sarebbe legata alla velocità della luce che a sua volta è dipendente dalla distanza end to end.

In realtà dobbiamo precisare che la latenza dipende anche dall’efficienza della rete e dalla qualità del routing.

Secondo lo scienziato americano Van Jacobson, uno dei principali artefici del protocollo TCP/IP, l’utente percepisce il ritardo di latenza a 400 ms. Attualmente la latenza di un sito particolarmente “veloce” si attesta attorno al valore 10 ms.

Per calcolare la latenza di un sito è sufficiente effettuare un traceroute   (traceroute su Mac e Linux, tracert su Windows) e calcolare il valor medio considerando tutti gli hop. E’ importante fare questa verifica cercando di mettersi nelle stesse condizioni del pubblico di riferimento.

La morale della favola è che nel valutare un cloud provider è cruciale considerare anche la disponibilità di una region vicina alla target audience, quindi occhio alla latenza!

Questions?

Have a question about this post or anything else? Ask away on Twitter or in my AMA repo.

Leave a Reply

Your email address will not be published. Required fields are marked *