3 个实用的命令行网速测试工具

使用这三个开源工具检查您的互联网和网络速度。
212 位读者喜欢这篇文章。
Opensource.com CFP and September preview

佛罗里达州记忆馆。由 Opensource.com 修改。CC BY-SA 4.0

能够验证您的网络连接速度,让您掌控自己的电脑。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 download speed................................................................................
Download: 68.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 10.93 Mbit/s

这将为您提供互联网的下载和上传速度。它速度快且可编写脚本,因此您可以定期运行它并将输出保存到文件或数据库中,以记录您网络速度随时间的变化。

Fast

Fast 是 Netflix 提供的一项服务。其 Web 界面位于 Fast.com,并且它有一个通过 npm 提供的命令行界面

npm install --global fast-cli

网站和命令行实用程序都提供相同的基本界面:它是一个尽可能简单的速度测试

$ fast

     82 Mbps ↓

该命令返回您的互联网下载速度。要获取您的上传速度,请使用 -u 标志

$ fast -u

   ⠧ 80 Mbps ↓ / 8.2 Mbps ↑

iPerf

iPerf 是测试您的局域网速度(而不是像前两个工具那样测试互联网速度)的好方法。Debian、Raspbian 和 Ubuntu 用户可以使用 apt 安装它

sudo apt install iperf

它也适用于 Mac 和 Windows。

安装完成后,您需要同一网络上的两台机器才能使用它(两台机器都必须安装 iPerf)。将其中一台指定为服务器。

获取服务器机器的 IP 地址

ip addr show | grep inet.*brd

您的本地 IP 地址(假设是 IPv4 局域网)以 192.16810 开头。记下 IP 地址,以便您可以在另一台机器(指定为客户端的机器)上使用它。

在服务器上启动 iperf

iperf -s

这将等待来自客户端的传入连接。将另一台机器指定为客户端并运行此命令,将您的服务器机器的 IP 地址替换此处示例中的 IP 地址

iperf -c 192.168.1.2

iPerf

只需几秒钟即可完成测试,它会返回传输大小和计算出的带宽。我从我的 PC 和我的笔记本电脑上运行了一些测试,使用我的家庭服务器作为服务器机器。我最近在我的房子周围安装了 Cat6 以太网,所以我从有线连接获得高达 1Gbps 的速度,但在 WiFi 连接上速度要慢得多。

iPerf

您可能会注意到它记录了 16Gbps。那是我使用服务器来测试自身,所以它只是测试它可以多快地写入自己的磁盘。服务器有硬盘驱动器,只有 16Gbps,但我的台式 PC 达到 46Gbps,而我的(较新的)笔记本电脑超过 60Gbps,因为它们有固态驱动器。

iPerf

总结

使用这些工具,了解您的网络速度是一项相当简单的任务。如果您喜欢编写脚本或从命令行运行这些工具来获得乐趣,那么上述任何项目都可以帮助您实现目标。如果您追求特定的点对点指标,iPerf 是您的首选。

您还使用哪些其他工具来测量家庭网络?请在评论中分享。


本文最初发表在 Ben Nuttall 的 Tooling 博客 上,并经许可在此处使用。

接下来阅读什么

Bash 脚本自动化入门

在本四部分系列文章的第一篇中,了解如何创建简单的 shell 脚本以及为什么它们是自动化任务的最佳方式。

标签
User profile image.
Ben 是 BBC News Labs 的软件工程师,曾任 Raspberry Pi 的社区经理。他热衷于 Linux、Python 和所有开源事物!在 Twitter 上关注 Ben @ben_nuttall。

7 条评论

这真是太棒了。你教会了我一些我不知道的东西,而且它可能比我的 ISP 提供的速度测试更准确。:)

iPerf 不涉及写入磁盘,所有测试数据都只在内存中。那些性能更好的设备只是恰好具有更好的 CPU 性能,能够更好地处理数据包。

但是,iPerf 网站上列出了一些来自世界各地的公共 iPerf 服务器:https://iperf.fr/iperf-servers.php

需要记住的一件事是,默认情况下客户端在 iPerf 上发送数据。如果您愿意,可以使用 -R 选项让服务器改为发送数据,以针对这些公共 iPerf 服务器进行下游方向的测试。

一个评论,iperf 不利用磁盘进行测试。因此,磁盘速度慢不会降低它的速度。您也可以将 -P 与数字一起使用来加速它,具体取决于它有多少个核心。

为 speedtest +1!

我认为 fast 对我来说很好

我不知道 speedtest-cli!谢谢,这会派上用场的!

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.