Controlliamo la velocita’ della nostra rete da terminale

speedtest-cli

Speed Test da Terminale

In questo articolo vedremo come effettuare uno speed test senza aprire il browser ed usando solo il terminale.

Premessa
Saper usare i molti comandi offerti dalla shell sul nostro terminale offre sicuramente enormi potenzialità, nonostante un primo impatto non sempre amichevole, con questo valido strumento avremo sempre il pieno controllo delle funzionalità di una distribuzione Linux, su cui potremo fare qualsiasi cosa senza usare interfacce grafiche.

Se per esempio vogliamo conoscere in tempo reale la velocità della nostra linea ADSL normalmente dovremmo aprire il browser, digitare un sito per effettuare la prova di velocità (per esempio speedtest.net) ed attendere il risultato; invece con la seguente mini guida utilizzeremo solo ed esclusivamente il terminale per effettuare lo stesso tipo di test di velocità sulla nostra linea.

Impariamo ad usare speedtest-cli, un piccolo tool che utilizza il popolare sito speedtest.net.

Il tool possiede gia di per se un lungo elenco di server disponibili per il test, divisi in ordine di distanza, ed è possibile utilizzarlo per testare il ping su un server specifico o connettersi agli Speedtest Mini server; mentre per gli utenti meno esigenti è possibile generare automaticamente un URL con l’immagine dello Speedtest ed i risultati ottenuti.

Installazione
Speedtest-cli può essere installato utilizzando Python Pip. Per installare Pip su Ubuntu (dalla 13.10 e successive, ma sono supportate anche le versioni precedenti), dovremo lanciare il seguente comando da terminale:

# sudo apt-get install python-pip

Usiamo quindi Pip per installare speetest-cli

# sudo pip install speedtest-cli

Per il futuro, quando si desidererà aggiornare speedtest-cli, potremo utilizzare il seguente comando:

# sudo pip install speedtest-cli --upgrade

Se non siete su Ubuntu esistono altri modi per installare speedtest-cli, basta visitare la pagina GitHub del programma.

Controllare la velocità della rete da terminale
Per testare la velocità di connessione a Internet da riga di comando utilizzando il miglior server (basato su ping) tutto quello che dovete fare è eseguire il seguente comando:

# speedtest-cli

Nota: il tool funziona anche con il comando speedtest invece di speedtest-cli (se avete installato lo strumento utilizzando Python Pip). Nei successivi comandi useremo il comando più corto per facilitare la digitazione.

Esempio di test rete adsl casalinga :

# speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Vodafone DSL (88.xx.xx.xx)...
Selecting best server based on latency...
Hosted by ColocationIX (Berlin) [5.80 km]: 51.852 ms
Testing download speed........................................
Download: 7.65 Mbits/s
Testing upload speed..................................................
Upload: 2.51 Mbits/s

Il tool è estremamente flessibile e permette di impostare degli argomenti per svolgere ulteriori test. Per esempio è possibile testare la velocità di Internet ed ottenere automaticamente un link con l’immagine da condividere ovunque utilizzando il comando:

# speedtest --share # (che creera' un URL con un'immagine sul portale di speedtest.net)

Per un uso più avanzato, come la visualizzazione dei server di speedtest.net, il collegamento ad un determinato server e così via, possiamo leggere la guida indicata con il seguente comando:

# speedtest -h

Buon Test !

#speedtestsenzabrowserusandosoloilterminale

Ottimizzare la connessione a Internet

wondershaperCon wondershaper diventa più veloce e reattiva

Se la connessione ad Internet qualche volta sembra essere lenta nella risposta, in particolare se utilizzata contemporaneamente da più applicazioni, allora significa che siamo in presenza di un cosiddetto “collo di bottiglia”, una strozzatura nel vero senso della parola, che rallenta irrimediabilmente la velocità di connessione e di conseguenza la navigazione.

Questo avviene perché, nella maggior parte dei casi, i provider privilegiano di norma la capacità di “smaltire” le richieste di download sacrificando la reattività della rete. Per fortuna GNU/Linux permette di aggirare questi fastidiosi comportamenti, rendendo così più fluido e in certi casi anche più veloce il collegamento a Internet.

Ottenere questo risultato non è proprio immediato, per questo motivo è stato creato wondershaper. Una volta installato il tool tramite

sudo apt-get install wondershaper

bastera’ eseguirlo indicando l’interfaccia di rete utilizzata per la connessione a Internet, ad esempio: wondershaper wlan0 4096 512. La voce wlan0 indica l’interfaccia di rete attraverso la quale il vostro PC è connesso al router. Questa può essere diversa e dipende dal sistema di connessione utilizzato, ad esempio ppp0 oppure eth0. Sempre in relazione all’esempio precedente, 4096 indica la velocità di download e 512 quella di upload, in modo che sia GNU/Linux a gestire direttamente le code e non il provider, a tutto beneficio della velocità della connessione. Per eseguire un prova,che come sempre consiglio di fare su di una Virtual Machine, basta scaricare un file di grosse dimensioni e contemporaneamente lanciare un ping; i tempi di risposta risulteranno molto diversi anche diminuendo solo di poco la velocità massima di connessione, vi consiglio quindi di fare diversi test. Per avere una base di partenza il consiglio e’ quello di fare un test di velocita’ della vostra connessione ADSL tramite il link di Speedtest.

Dopo aver individuato la configurazione ottimale, bastera’ configurare lo script wondershaper per rendere le modifiche definitive ed eseguirlo automaticamente al boot (vedi sezione “approfondimenti configurazione ottimale”) , oppure si puo’ configurare nel seguente modo:

Modifiche nel file /etc/network/interfaces

iface wlan0 inet dhcp
    up /sbin/wondershaper wlan0 4096 512
    down /sbin/wondershaper remove wlan0

Se i test non dovessero essere soddisfacenti e voleste tornare alla configurazione iniziale bastera’ non modificare  lo script di wondershaper ed invece dare il seguente comando :

sudo wondershaper clear INTERFACCIA

dove ovviamente con INTERFACCIA si intende sempre l’interfaccia di rete precedentemente indicata, esempio :

sudo wondershaper clear wlan0

Approfondimenti configurazione ottimale

Il file /usr/share/doc/wondershaper/README.Debian.gz descrive più in dettaglio il metodo di configurazione consigliato dal responsabile del pacchetto. In particolare, si consiglia di misurare la velocità di caricamento e scaricamento in modo da valutare al meglio i limiti reali.