可以在命令行中检查Internet和网络速度的三个开源工具是Speedtest,Fast和iPerf。
Speedtest
Speedtest以Python实现,打包在Apt中,也可与pip一起使用。可以将其用作命令行工具或在Python脚本中使用。
安装:
sudo apt install speedtest-cli
或者
sudo pip3 install speedtest-cli
然后使用命令speedtest运行它:
$ speedtest
Retrieving speedtest.net configuration…
Testing from CenturyLink (65.128.194.58)…
Retrieving speedtest.net server list…
Selecting best server based on ping…
Hosted by CenturyLink (Cambridge, UK) [20.49 km]: 31.566 ms
Testing downloadspeed…
Download: 68.62 Mbit/s
Testing upload speed…
Upload: 10.93 Mbit/s
提供了下载和上传Internet的速度。速度快且可编写脚本,因此可以定期运行它,并将输出保存到文件或数据库中,以记录一段时间内的网络速度。
Fast
快速是Netflix提供的一项服务。它的Web界面位于Fast.com,并且具有可通过npm使用的命令行界面:
npm install --global fast-cli
网站和命令行实用程序都提供相同的基本界面:这是一个尽可能简单的网络速度测试:
*$ fast
82 Mbps ↓*
该命令返回Internet下载速度。要获取上传速度,请使用-u参数:
*$ fast -u
⠧ 80 Mbps ↓ / 8.2 Mbps ↑*
iPerf
iPerf是测试LAN速度(而不是像前两个工具一样测试Internet速度)的好工具。 Debian,Raspbian和Ubuntu用户可以使用apt安装它:
sudo apt install iperf
它还适用于Mac和Windows。
安装完成后,需要在同一网络上的两台计算机上使用它(两者都必须安装iPerf)。指定一个作为服务器。
获取服务器计算机的IP地址:
*ip addr show | grep inet.brd
本地IP地址(假定为IPv4本地网络)以192.168或10开头。请记下IP地址,以便可以在另一台计算机(指定为客户端的计算机)上使用它。
在服务器上启动iperf:
iperf -s
等待来自客户端的传入连接。将另一台计算机指定为客户端并运行此命令,在此用服务器的IP地址替换示例:
iperf -c 192.168.1.2
只需几秒钟即可进行测试,然后返回传输大小和计算出的带宽。使用家用服务器作为服务器计算机,在PC和笔记本电脑上进行了一些测试。安装Cat6以太网,因此有线连接速度达到1Gbps,但WiFi连接速度却低得多。
可能会注意到它记录了16Gbps的位置。那是使用服务器进行自我测试,因此它只是在测试它可以写入自己的磁盘的速度。该服务器具有仅16 Gbps的硬盘驱动器,但是台式机具有46 Gbps,而我的(较新的)笔记本电脑使用固态硬盘,其速度超过60 Gbps。
总结
使用这些工具来了解网络速度是一件相当简单的事情。如果想编写脚本或从命令行运行这些脚本来获得乐趣,则以上任何一个项目都可以做到。如果想测试点对点,那么iPerf是首选。
扫码关注公众号,获得更多技术干货!