Python Speedtest – E scopri la velocità della rete

Python Speedtest

Python Speedtest è un semplicissimo microprogramma che consente di tenere sotto controllo le caratteristiche e la velocità della propria rete.

Quante volte ci siamo imbattuti in un rallentamento di rete proprio quando avevamo bisogno di caricare un file oneroso? Quante volte ci siamo chiesti quanto sarebbe durato un download (o un upload)? Quantre volte abbiamo effettuato reclami verso il nostro IPS a causa di malfunzionamenti, senza però disporre di appropriata documentazone del disservizio?

Per venire incontro a queste (e numerosissime altre) richieste, abbiamo deciso di pubblicare e commentare questo script in Python.

Come vedrete, si tratta di una manciata di righe di codice che però potrebbero risultare utili

Il codice

Per prima cosa importeremo il modulo speedtest, che contiene i metodi necessari per il monitoraggio. Come al solito, definiremo un oggetto st di tipo Speedtest, ed estraremo i valori di download ed upload chiamati dai relativi metodi. E’ ovviamente ppossibile modificare i parametri di up- e download. Setati in questa maniera, il teest durerdà meno di un minuto.

Al test è stato aggiunto un comando ping che si collega automaticamente al server del nostro IPS, ed esegue un test di velocità.

Per capire quale sia effettivamente il server sul quale si eseguono i test, basterà lanciare il seguente programma:

Lo script riporterà una struttura contenente tutte le informazioni relative al server contattato.

Installazione del modulo

Il modulo può essere scaricato direttamente con il comando PIP:

o easy_install:

E’ anche possibile accedere direttramente a github:

oppure

Per coloro che usano Thonny, il modulo speedtest-cli è installabile da menù: Tools > Manage packets.

Note

L’obiettivo di questa applicazione non è quello di essere uno strumento affidabile per la segnalazione della latenza.

La latenza segnalata da questo strumento non deve essere considerata un valore indicativo della latenza in stile ICMP. Si tratta di un valore relativo utilizzato per determinare il server con la latenza più bassa su cui eseguire il test di velocità effettivo.

È possibile che questo strumento riporti risultati incoerenti con quelli di Speedtest.net. Ci sono diversi concetti da tenere a mente che potrebbero essere causa di incoerenza:

  • Speedtest.net è passato all’utilizzo di test socket puri anziché di test basati su HTTP.
  • Questa applicazione è scritta in Python.
  • Diverse versioni di Python eseguiranno alcune parti del codice più velocemente di altre.
  • La capacità e la velocità di CPU e memoria giocheranno un ruolo importante nell’incoerenza tra Speedtest.net e anche altre macchine sulla stessa rete.

 

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

 

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.