Testare la velocità della connessione con Linux
Esistono diversi strumenti online per testare la velocità della tua connessione, uno fra tutti lo Speed Test by Ookla e lo speed test di Google. Strumenti come questi ultimi sono sicuramente utili e veloci nel caso dovessimo testare la velocità della rete alla quale è collegato il computer su cui stiamo lavorando, ma oggi voglio controllare la velocità di un server remoto al quale sono collegato in SSH. Si tratta di una installazione headless, quindi non avremo a disposizione l’interfaccia grafica e dovremo lavorare esclusivamente con il terminale.
Alcune delle utility che vedremo insieme in questo articolo sono le seguenti:
- speed test
- fast
- iPerf
- iftop
- wget
- youtube-dl
Fra i prerequisiti per testare gli strumenti elencati ci sono:
- una installazione Linux (qualsiasi, ma meglio che integri un package manager)
- permessi di root / sudo
- accesso a un terminale
Speedtest-cli
Si tratta dello stesso servizio già citato nelle premesse: il famoso Speed Test by Ookla. Il software è pacchettizzato per un gran numero di distribuzioni, oppure è possibile usare pip
per installarlo con python.
# pip install speedtest-cli
Per avviarlo digitiamo da terminale speedtest
.
~ $ speedtest
Retrieving speedtest.net configuration...
Testing from Telecom Italia Business (188.10.211.206)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Avelia (Verona) [107.07 km]: 13.87 ms
Testing download speed...................
Download: 47.87 Mbit/s
Testing upload speed.....................
Upload: 20.00 Mbit/s
Fast-cli
Fast è una utility CLI leggera basata sul test di velocità offerto da fast.com. Il test usa i server di Netflix dislocati golbalmente per restituire il risultato.
Fast-cli è relativamente semplice da utilizzare, ma dev’essere installato usando NPM (Nodejs). L’installazione di Node non è oggetto di questo articolo, ogni distribuzione ha il suo gestore dei pacchetti / repository. Dopo averlo installato lanciamo:
~ $ npm install --global fast-cli
E lanciamo il programma:
~ $ fast
⠼ 31 Mbps ↓
iPerf
Il software iPerf permette di configurare svariate opzioni per testare la velocità della connessione tra due apparecchi. La differenza fra quest’ultimo software e i precedenti è che dovremo necessariamente disporre di due PC per eseguire il test. Installeremo il programma su entrambi, ma uno sarà il server e l’altro il client. iPerf è molto più utile nel caso si voglia testare la velocità di due PC connessi localmente.
Anche in questo caso ogni distribuzione ha il suo gestore pacchetti e i suoi repository.
Sul server avvieremo il comando iperf3 -s
, mentre sul client che eseguirà il test lanceremo iperf3 -c <IP del server>
.
~ $ iperf3 -c 192.168.5.10
Connecting to host 192.168.5.10, port 5201
[ 5] local 192.168.5.2 port 59472 connected to 192.168.5.10 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 2.12 MBytes 17.8 Mbits/sec 55 77.0 KBytes
[ 5] 1.00-2.00 sec 1.50 MBytes 12.6 Mbits/sec 0 94.3 KBytes
[ 5] 2.00-3.00 sec 1.25 MBytes 10.5 Mbits/sec 0 120 KBytes
[ 5] 3.00-4.00 sec 896 KBytes 7.34 Mbits/sec 6 128 KBytes
[ 5] 4.00-5.00 sec 896 KBytes 7.34 Mbits/sec 43 89.0 KBytes
[ 5] 5.00-6.00 sec 640 KBytes 5.24 Mbits/sec 1 62.4 KBytes
[ 5] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 47 1.33 KBytes
[ 5] 7.00-8.00 sec 640 KBytes 5.24 Mbits/sec 55 69.1 KBytes
[ 5] 8.00-9.00 sec 1.50 MBytes 12.6 Mbits/sec 0 97.0 KBytes
[ 5] 9.00-10.00 sec 1.12 MBytes 9.42 Mbits/sec 0 91.6 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 10.5 MBytes 8.81 Mbits/sec 207 sender
[ 5] 0.00-10.08 sec 10.0 MBytes 8.33 Mbits/sec receiver
iperf Done.
Lo stesso report sarà visibile sul server prima di arrestare iPerf.
iftop
Iftop permette di controllare la velocità del traffico su una specifica interfaccia di rete definita dall’utente. Anche questo programma può essere facilmente installato tramite repository.
Per prima cosa controlliamo quale nome sia stato assegnato all’interfaccia di rete che vogliamo monitorare. Nel mio caso la scheda Wi-Fi:
~ $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp9s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 70:54:d2:5b:1f:f8 brd ff:ff:ff:ff:ff:ff
3: wlp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 20:16:d8:5b:19:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp8s0
valid_lft 68747sec preferred_lft 68747sec
inet6 fe80::f123:5636:87bc:af11/64 scope link noprefixroute
valid_lft forever preferred_lft forever
La scheda Wi-Fi è indicata dall’iniziale “w”: nel mio caso “wlp8s0
“. Per lanciarlo usiamo l’argomento “-i
” e specifichiamo l’interfaccia di rete da monitorare:
~ $ sudo iftop -i wlp8s0
Le statistiche di trasmission (TX) e ricezione (RX) sono a fondo pagina.
wget
Wget è in questa lista, anche se la sua funzione principale non è certamente quella di monitorare la velocità della connessione. Infatti si tratta di un download manager sofisticato e molto longevo, che offre però anche le informazioni che cerchiamo circa la velocità.
Serve l’indirizzo di un file scaricabile… direi di almeno qualche MB. Ho cercato su Google “fotografia filetype:pdf” sperando in qualche brochure fotografica, invece ho trovato un catalogo di microscopi digitali.
~ $ wget -O /dev/null -q --show-progress http://bio-plast.net/pdf/Catalogue/Optika/DIGITAL%202009_IT.pdf
/dev/null 30%[=========> ] 899,54K 184KB/s prev 13s
Con questo comando non verrà salvato nulla perché stiamo dicendo a wget di mettere tutto in /dev/null
, ma lo scaricamento avverrà comunque e dall’ultima riga possiamo vedere a che velocità.
youtube-dl
Youtube-dl, come wget, è un altro programma che non è pensato per il nostro scopo. Ma ugualmente non c’è motivo di non utilizzarlo.
~ $ yt-dlp -f best --no-part --no-cache-dir -o /dev/null --newline <una qualsiasi URL di youtube>
[download] Destination: /dev/null
[download] 0.0% of 19.65MiB at Unknown B/s ETA Unknown
[download] 0.0% of 19.65MiB at 1.44MiB/s ETA 00:13
[download] 0.0% of 19.65MiB at 81.41KiB/s ETA 04:07
[download] 0.1% of 19.65MiB at 171.64KiB/s ETA 01:57
[download] 0.2% of 19.65MiB at 171.12KiB/s ETA 01:57
[download] 0.3% of 19.65MiB at 202.58KiB/s ETA 01:39
[download] 0.6% of 19.65MiB at 71.21KiB/s ETA 04:40
[download] 0.8% of 19.65MiB at 95.49KiB/s ETA 03:28
[download] 1.3% of 19.65MiB at 144.05KiB/s ETA 02:17
[download] 2.1% of 19.65MiB at 198.62KiB/s ETA 01:39
Ho dimenticato qualcosa? Fatemelo sapere nei commenti.
0 commenti