Linux / Unix: Test Internet Connection Speed From SSH Command

Tutorial details Difficulty Easy (rss) Root privileges No Requirements lftp or wget+wput/ftp Time N/A

ADVERTISEMENTS



wget command

wput command

iperf command

speedtest-cli

How To Test Internet Connection Speed From SSH Command on Linux or Unix

I have recently rented a dedicated server for my hobby projects and learning CentOS Linux server. I was informed that I am connected to the 100M/s port. How do I test my Internet connection download speed from the console over the ssh session without using HTML5 or Adobe flash/Java applets based websites? How do I test my upload speed from the console?I recommend that you use lftp command to test Internet upload and download speed from console. You can run lftp using the ssh client:[a]– Retrieves files from the web (download speed test). [b]– A tiny wget-like ftp-client for uploading files (upload speed test). [c]– Another light download accelerator. [d]– Perform network throughput tests. [c]

You can use the following yum command to install lftp and iperf under RHEL / CentOS / Fedora Linux:

# yum install lftp iperf

OR use the following apt command/apt-get command under Debian or Ubuntu Linux/Mint Linux:

$ sudo apt-get install lftp iperf

Step 1. Find out download url

You need a large size file to test download speed. For example, you can visit the home page of “Linux kernel” to grab Centos Linux ISO file.

Step 2. Use lftp command to test download speed

The syntax is:

lftp -e 'pget http://example.com/file.iso; exit; ' lftp -e 'pget http://speedtest.example.com/500M.bin; exit; ' lftp -e 'pget https://mirrors.edge.kernel.org/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso; exit; ' lftp -e 'pget http://example.com/file.iso; exit; ' lftp -e 'pget http://speedtest.example.com/500M.bin; exit; ' lftp -e 'pget https://mirrors.edge.kernel.org/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso; exit; '

Sample outputs:



725617504 bytes transferred in 65 seconds (10.63M/s)

A note about wget command

You will also get the report as follows:

You can use the wget command as follows for testing download speed:

$ wget -O /dev/null https://mirrors.edge.kernel.org/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

Sample outputs:



Step 3. Use lftp command to test upload speed

The sytnax is as follows:

lftp -u userName ftp.example.com -e 'put largecd1.avi; bye' lftp -u userName,passWord ftp.example.com -e 'put largecd1.avi; bye' lftp -u userName,passWord ftp.example.com -e 'put /path/to/large.iso; bye' lftp -u userName ftp.example.com -e 'put largecd1.avi; bye' lftp -u userName,passWord ftp.example.com -e 'put largecd1.avi; bye' lftp -u userName,passWord ftp.example.com -e 'put /path/to/large.iso; bye'

In this example, I am uploading a file to my private ftp server:

lftp -u admin homeserver -e 'cd video; put /home/vivek/Downloads/debian-testing-amd64-CD-1.iso; bye'

OR

lftp -u admin homeserver.public.ip.here -e 'cd video; put /home/vivek/Downloads/debian-testing-amd64-CD-1.iso; bye'

Sample outputs:



How do I test network throughput rate between two Linux or Unix servers?

Consider the following setup:

+------------------+ +----------------+ | Linux server A +--------- ISP Internet-----------+ Linux server B + +------------------+ +----------------+ IP:202.54.1.1 IP:203.54.1.1 iperf server iperf client

Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss. On server A start iperf as follows:

# iperf -s -B 202.54.1.1

On server B type the same command as follows:

# iperf -c 202.54.1.1 -d -t 60 -i 10

Sample outputs:



-s : Run in server mode. -B IP : Bind to IP, an interface or multicast address. -c IP : Run in client mode, connecting to IP. -d : Do a bidirectional test simultaneously. -t 60 : Time in seconds to transmit for (default 10). -i 10 : Pause n seconds between periodic bandwidth reports.

Recommended readings

Where,

And there you have it. We just test Internet connection speed from SSH command or ssh based session or just old good terminal from your Linux or Unix desktop. See the following man pages for information:

man lftp

man wget

man iperf