Difference between revisions of "Internet speed test using Terminal"

From Ever changing code
Jump to navigation Jump to search
m (Pio2pio moved page Internet speed via Terminal to Internet speed test using Terminal: More appropiate subject)
Line 37: Line 37:
This measures the bandwidth between two locations where one is set as a server and another as a client.
This measures the bandwidth between two locations where one is set as a server and another as a client.


Start up server listening on port 8888. By default it is TCP port 5001 and TCP window size 64.0KB.
Start up server listening on port 8888. By default it is TCP port 5001 and TCP window size 64.0KB
  /opt/systems/bin/iperf -s -p 8888
  /opt/systems/bin/iperf -s -p 8888


Line 44: Line 44:


Switches:
Switches:
:-t option used in the above command tells to transfer data for X seconds
:-t option used in the above command tells to transfer data for X seconds
:-p  will tell the client to connect the port 8888 on the server
:-w will specify your desired window size value
:-u options needs to be also used on the client side for specifying UDP traffic in case server <code>iperf -s -u</code> was used
:-P divide results into X time frames aka lines printed
:-P divide results into X time frames aka lines printed
:-p --port server port to listen on/connect to
:-w desired window size value
:-l, --len length of buffer to read or write (default 8 KB)
:-u --udp use UDP rather than TCP
:-M, --mss set TCP maximum segment size (MTU - 40 bytes)
:-f m displays results in megabytes
:-f m displays results in megabytes
:-s start server, -D switch to run it as a daemon in the background
:-c --client connect to server from client
:-r bidirectional test individually, use -d --dualtest to test simultaneously


= References =
= References =
*[http://binarynature.blogspot.co.uk/2013/03/measure-internet-connection-speed-from-linux-command-line.html Measure Internet Connection Speed from the Linux Command Line]
*[http://binarynature.blogspot.co.uk/2013/03/measure-internet-connection-speed-from-linux-command-line.html Measure Internet Connection Speed from the Linux Command Line]

Revision as of 20:53, 25 April 2016

Speedtest.net

sudo apt-get install python-pip
 pip install speedtest-cli

or:

sudo apt-get install python-setuptools
 sudo easy_install speedtest-cli

This 2nd solution worked on AWS Ubuntu 13.04 Server and it needed ~3Mb (python-setuptools) to download versus ~80Mb for python-pip

Run the speedtest:

$ speedtest-cli 
 Retrieving speedtest.net configuration...
 Retrieving speedtest.net server list...
 Testing from Global Crossing (217.156.150.69)...
 Selecting best server based on latency...
 Hosted by Gigaclear PLC (Slough) [8.91 km]: 13.461 ms
 Testing download speed........................................
 Download: 23.93 Mbit/s
 Testing upload speed..................................................
 Upload: 12.27 Mbit/s

Wget

wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip
wget -O /dev/null http://speedtest.sea01.softlayer.com/downloads/test100.zip
curl -o /dev/null http://speedtest.sea01.softlayer.com/downloads/test100.zip

wget -O /dev/null http://ipv4.download.thinkbroadband.com/1GB.zip
wget -O /dev/null http://ipv4.download.thinkbroadband.com:81/1GB.zip
wget -O /dev/null http://ipv4.download.thinkbroadband.com:8080/1GB.zip

iperf

This measures the bandwidth between two locations where one is set as a server and another as a client.

Start up server listening on port 8888. By default it is TCP port 5001 and TCP window size 64.0KB

/opt/systems/bin/iperf -s -p 8888

Connect client to server on port 8888

/opt/systems/bin/iperf -c your.server.com -l 1300 -p 8888 -P 10

Switches:

-t option used in the above command tells to transfer data for X seconds
-P divide results into X time frames aka lines printed
-p --port server port to listen on/connect to
-w desired window size value
-l, --len length of buffer to read or write (default 8 KB)
-u --udp use UDP rather than TCP
-M, --mss set TCP maximum segment size (MTU - 40 bytes)
-f m displays results in megabytes
-s start server, -D switch to run it as a daemon in the background
-c --client connect to server from client
-r bidirectional test individually, use -d --dualtest to test simultaneously

References