Una buona connessione a Internet in fibra ottica pura oggi offre una velocità massima teorica di 1000 megabit al secondo (Mb/s), cioè 1 gigabit (Gb/s) ovvero, riportandola a unità di misura cui siamo più "abituati", 125 megabyte al secondo (MB/s). Il calcolo è presto fatto, visto che un Byte (indicato con "B") corrisponde ad 8 bit (indicato con "b"). Ma questo non vuol dire che ci metterete 8 secondi a spedire un file grande un Gigabyte. La totalità delle connessioni, infatti, non raggiunge mai costantemente la velocità massima dichiarata e non sempre il motivo è da ricercare in una scarsa qualità della connessione, o in qualche sotterfugio del vostro Internet Service Provider.
I fattori da prendere in considerazione nel valutare la qualità di una connessione a Internet sono infatti molti e, di sicuro, non basta che la connessione "sembri" lenta perché, in realtà, molto spesso il problema non è la lentezza ma l'alta latenza.
In ogni caso, tuttavia, è possibile misurare le prestazioni di un contratto di connessione tramite i cosiddetti speedtest, i test di velocità per le linee Internet che ci offrono un valore numerico in megabyte per secondo (MBps) che possiamo paragonare a quello massimo teorico dichiarato dall'ISP nel contratto. Ma, prima di fare qualunque confronto, bisogna capire come funziona uno speedtest e se, quanto e in che condizioni è realmente affidabile.
Speedtest: come funzionano
Quando avvii un test di velocità della tua connessione a Internet la prima cosa che lo speedtest fa è determinare la posizione del server di test più vicino a te. Poiché la latenza di una connessione a Internet, cioè il tempo che passa tra quando inviamo una richiesta di dati e quando iniziamo a riceverli, dipende in modo diretto anche dalla distanza del server è chiaro che lo speedtest cerca il server più vicino. Tale distanza viene calcolata in termini di numero di nodi di rete (più o meno gli "spezzoni di rete") da attraversare per raggiungere il server, il che spesso, ma non sempre, corrisponde anche alla distanza fisica tra noi ed il server. In questo modo il risultato dovrebbe essere più realistico. Una volta connesso al server lo speedtest invia un semplice segnale (ping) al server, che risponde inviando indietro a sua volta un segnale di avvenuta ricezione. Il test misura il tempo di risposta in millisecondi e quella è la latenza.
Al termine del ping, inizia il test di download dei dati: il client (il browser sul nostro computer) apre più connessioni al server e tenta di scaricare una piccola porzione di dati (qualche decina di megabyte, solitamente, ma tale valore si adatta e dipende anche dalla velocità della Rete). A questo punto, vengono misurate due cose: il tempo impiegato per acquisire un frammento di dati e la quantità di risorse di rete utilizzate. Se il client rileva che è disponibile altro spazio di connessione sul server, apre più connessioni e scarica più dati contemporaneamente.
L'idea di fondo è quella di provare a saturare la connessione, facendo transitare più dati possibile contemporaneamente. Una volta che lo speedtest ha lanciato le connessioni necessarie per testare il servizio Internet, scarica ulteriori blocchi di dati, misura la quantità scaricata nel tempo assegnato e traduce tutto ciò in una velocità di download (ovvero la velocità di ricezione dei dati dalla rete).
Il test successivo è quello di upload, che è in pratica lo stesso test ma con l'invio dei dati invece che con la ricezione. La procedura è quindi identica, come identico il metodo usato dallo speedtest per calcolare la velocità di upload della connessione (ovvero la velocità di invio dei dati in rete).
Speedtest: sono accurati?
In due parole: non sempre. E il problema è che non abbiamo alcun modo di capire quando lo sono e quando no. Già la scelta del server da usare per il test è un fattore che potrebbe portare ad una distorsione del risultato: è vero che la latenza cresce con la distanza, ma è altrettanto vero che se un server è molto occupato (riceve molte richieste di connessione contemporanee) la latenza aumenta comunque. A volte risponde prima un server più lontano, ma meno saturo, piuttosto che uno più vicino, ma oberato di richieste.
Ma, anche nella migliore delle ipotesi (server di test vicino e molto libero), non è affatto detto che il risultato dello speedtest rispecchi la reale navigazione online. Perché nella navigazione reale di tutti i giorni non ci connettiamo quasi mai a server molto vicini, molto veloci e molto disponibili: al contrario, molto spesso i dati vengono dall'altra parte del mondo e vengono veicolati da server che ci mettono un bel po' a rispondere.
Non solo: nello scenario di test vengono aperte più connessioni possibili con il server, ma nella navigazione reale non è affatto detto che ciò sia fattibile. O perché il server a cui ci connettiamo non apre ulteriori connessioni (ad es. perché è già vicino alla sua capacità massima), o perché sul nostro dispositivo ci sono già in esecuzione altre applicazioni che "rubano" banda dati scaricando a loro volta dati dalla rete.
Infine, va considerato l'ultimo fattore: se eseguiamo lo speed test mentre siamo connessi al modem router di casa via Wi-Fi i dati non sono affatto attendibili e saranno certamente inferiori rispetto a quelli che otterremo connettendoci al router via cavo Ethernet. Questo perché la connessione Wi-Fi (almeno fino allo standard Wi-Fi 5, 802.11ac) ha una velocità massima reale inferiore anche di parecchio a quella di una connessione diretta via cavo. E, soprattutto, perché bastano due muri tra il dispositivo e il router Wi-Fi per far crollare la velocità della connessione.
Come interpretare gli speedtest
Tutto questo vuol dire che gli speedtest non servono? No, anzi, servono ma vanno usati con criterio. Prima di giudicare una connessione a Internet basandoci su uno speedtest dovremmo infatti eseguire lo speedtest nel modo più accurato possibile: connettendo il computer al router via cavo e non via radio, provando (se lo speedtest ce lo permette) a collegarci a diversi server di test, eseguendo il test in diversi momenti della giornata e, soprattutto, provando più speedtest diversi.
Se in ogni condizione di test abbiamo risultati costantemente inferiori a quelli dichiarati dal nostro ISP, allora probabilmente la nostra connessione ha effettivamente un problema. Altrimenti almeno uno dei fattori sopra indicati potrebbe aver falsato il risultato del test.