Linux/Unix:通过SSH命令测试Internet连接速度

时间:2020-01-09 10:42:25  来源:igfitidea点击:

如何在不使用基于HTML5或者Adobe Flash/Java applet的网站的情况下,通过ssh会话从控制台测试Internet连接下载速度?
如何从控制台测试上传速度?

答:
我建议您使用lftp命令从控制台测试Internet上传和下载速度。

您可以使用ssh客户端运行lftp:

  • wget命令从Web检索文件(下载速度测试)。

  • wput command一个类似wget的小型ftp客户端,用于上传文件(上传速度测试)。

  • axel另一个轻量下载加速器。

  • iperf命令执行网络吞吐量测试。

  • speedtest-cli使用基于Python的CLI工具Speedtest-cli检查互联网速度。

如何在Linux或者Unix上通过SSH命令测试Internet连接速度

您可以使用以下yum命令在RHEL/CentOS/Fedora Linux下安装lftp和iperf:

# yum install lftp iperf

或者在Debian或者Ubuntu Linux/Mint Linux下使用以下apt命令/apt-get命令:

$ sudo apt-get install lftp iperf

步骤1.找出下载网址

您需要一个大文件来测试下载速度。
例如,您可以访问Linux内核的主页来获取Centos Linux ISO文件。

步骤2.使用lftp命令测试下载速度

语法为:

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; '

您还将获得以下报告:

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

关于wget命令的注释

您可以按以下方式使用wget命令来测试下载速度:

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

步骤3.使用lftp命令测试上传速度

语法如下:

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'

在此示例中,我将文件上传到专用ftp服务器:

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

或者

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

如何测试两个Linux或者Unix服务器之间的网络吞吐率?

请考虑以下设置:

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

Iperf是一种用于测量最大TCP带宽的工具,可以调整各种参数和UDP特性。

Iperf报告带宽,延迟抖动,数据报丢失。
在服务器A上,启动iperf,如下所示:

# iperf -s -B 192.54.1.1

在服务器B上,执行相同的命令,如下所示:

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

其中:

  • -s:在服务器模式下运行。
  • -B IP:绑定到IP,接口或者多播地址。
  • -c IP:在客户端模式下运行,连接到IP。
  • -d:同时进行双向测试。
  • -t 60:以秒为单位的传输时间(默认为10)。
  • -i 10:在定期带宽报告之间暂停n秒。