如何通过终端检查互联网速度?

而不是去像这样的网站 speedtest.net,我想从Ubuntu上的终端检查我当前的互联网速度。 我该怎么做?

我推荐 速度测试-cli 这个工具。 我创建了一篇博客文章(从Linux命令行测量Internet连接速度)这将详细介绍下载,安装和使用它。

简短的版本是这样的: (不需要根)

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

输出:

Retrieving speedtest.net configuration...Retrieving speedtest.net server list...Testing from Comcast Cable (x.x.x.x)...Selecting best server based on ping...Hosted by FiberCloud, Inc (Seattle, WA) [12.03 km]: 44.028 msTesting download speed........................................Download: 32.29 Mbit/sTesting upload speed..................................................Upload: 5.18 Mbit/s

2018年更新:

使用 pip install --user speedtest-cli 为您提供一个可能比发行版存储库中可用的版本更新的版本。

2016年更新:

speedtest-cli 现在在Ubuntu存储库中。 对于Ubuntu16.04(Xenial)及更高版本使用:

sudo apt install speedtest-clispeedtest-cli

在命令行上试试这个

wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

也试试这个

sourceforge.net/projects/tespeed/

从上面的链接得到了它

如果您无法安装iperf,则可以在任何命令之前使用 time 命令并做一个总和。

iperf简单易用。

它需要一个客户端和服务器。

(在服务器上)

 user@server$ iperf -s

(在客户端)

 user@client$ iperf -c server.domain ------------------------------------------------------------ Client connecting to 192.168.1.1, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [  3] local 192.168.1.3 port 52143 connected with 192.168.1.1 port 5001 [ ID] Interval       Transfer     Bandwidth [  3]  0.0-10.0 sec    113 MBytes  94.7 Mbits/sec

更多详情

嗯,我用 wget 为了它。 那个小工具很好地告诉我我有什么速度。

要使用它,只需指向internet中相对较大的文件,以便您可以更好地估计它。

例如

打字: wget http://hostve.com/neobuntu/pics/Ubu1.avi 将开始下载Ubu1。avi文件并显示它正在下载的速度。

enter image description here

当然有几个建议:

  1. 用好的服务器测试自己的速度。 在我的链接的情况下,速度小于200kb,所以如果你有更高的速度,服务器将成为你的瓶颈,而不是你的实际速度。

  2. 您将看到的最高速度是您的连接和服务器的连接可以提供的最大速度。 如果您的连接是512KB,您下载的地方是400kb,您的最大连接将是400kb,因为它是您下载的服务器的最大连接。

  3. 您需要至少进行5次测试才能进行可靠的速度检查,或者至少进行一两分钟。 这将帮助您进行更准确的检查。

  4. 您需要至少有4或5个不同的测试源才能获得更准确的速度。 永远不要只从同一个站点进行测试,因为这可能会受到您与它的距离,服务器中的任何问题以及与它的连接等的影响。 始终从不同的服务器进行测试。

阿里亚2

这是一个替代 wget. 的缺点 wget 是缺乏并行连接。 要使用aria2我们只需要下载它:

   sudo apt-get install aria2

使用它很简单:

enter image description here

在图像中, -x4 是我们希望使用多少个并行连接。 下一行中的CN参数显示允许从该站点下载多少个活动并行连接。 在这种情况下CN是4。 但是,如果我们试图有更多的连接,我们会得到这样的东西:

enter image description here

我们设置了8个并行连接,但该网站只允许最多5个,如CN:5所示。 这可以通过 -j 选项告诉aria2c我们想要的最大并发连接(默认为5),但如果服务器限制了这一点,-j将不起作用。

由于speedtest-cli是一个python应用程序,因此安装起来要容易得多:

pip install speedtest-cli

或:

easy_install speedtest-cli

根据Python在系统上的安装方式,您可能需要成为root才能执行上述操作。

我碰巧喜欢 speedometer Ubuntu cli。

speedometer -r eth0

观看传入数据速度的实时图表.

我经常使用这样的东西:

% wget -O /dev/null --progress=dot:mega http://cachefly.cachefly.net/10mb.test ; date--2020-01-06 03:31:05--  http://cachefly.cachefly.net/10mb.testResolving cachefly.cachefly.net (cachefly.cachefly.net)... 2607:7700::18:0:1:cdea:afaf, 205.234.175.175Connecting to cachefly.cachefly.net (cachefly.cachefly.net)|2607:7700::18:0:1:cdea:afaf|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 10485760 (10M) [application/octet-stream]Saving to: <</dev/null>>     0K ........ ........ ........ ........ ........ ........ 30% 3.02M 2s  3072K ........ ........ ........ ........ ........ ........ 60% 3.97M 1s  6144K ........ ........ ........ ........ ........ ........ 90% 3.94M 0s  9216K ........ ........                                    100% 3.99M=2.8s2020-01-06 03:31:08 (3.62 MB/s) - <</dev/null>> saved [10485760/10485760]Mon Jan  6 03:31:08 CST 2020%

您可以更改 10mb 参与 /10mb.test1mb, 4mb, 5mb, 10mb, 50mb, 100mb, 200mb, 400mb, 2000mb, 4000mb,以及可能的一些其他值。

您也可以更改 --progress=dot:mega 部分至 --progress=dot:default, --progress=dot:binary, --progress=dot:mega--progress=dot:giga;此设置可帮助您查看下载的速度,并在下载的整个持续时间内保留多个读数,这对于当您需要与某人共享结果时很有帮助,或者只是将其保存为您自己

一个简单的单行测试下载100mb需要多长时间(适用于 /bin/sh 也):

t=$(date +"%s"); wget http://speedtest.tele2.net/100MB.zip -O ->/dev/null ; echo -n "MBit/s: "; expr 8 \* 100 / $(($(date +"%s")-$t))

解释说明:

  1. 将时间戳存储在$t中
  2. 下载100mb但不存储任何东西
  3. 计算方法 8 * 100mb / $t

在大文件上使用timeout命令运行wget的多个实例:

#!/bin/bashtimeout 5 wget -q url_1/100MB.zip &timeout 5 wget -q url_2/file.zip &timeout 5 wget -q url_3/sample.mov &timeout 5 wget -q url_4/speech.mp4 &

然后写一个脚本来计算下载的总字节并除以5秒你会得到一个字节/秒的数字。 应该相当准确,您可以添加更多实例以最大限度地提高带宽。

我还没有测试完整的脚本,但是单行命令"timeout5wget url"可以工作,并且您会得到一个部分下载的文件(如果5秒不足以完成下载)。

您可以使用 tespeed . 它是一个终端网络速度测试,使用来自 Speedtest.net. 它使用最近的测试服务器,但也可以使用用户手动指定的服务器。

 git clone git://github.com/Janhouse/tespeed.git cd tespeed git submodule init git submodule update ./tespeed.py 

enter image description here

更多信息使用 :

 ./tespeed.py  -h

它将为速度测试提供更多选择。

我用speedtest-cli得到的结果大大低于我从中得到的结果speedtest.net speedtest-cli下载18.27Mbits/s上传3.43Mbits/s speedtest.net 下载59.38Mbits/s上传12.14Mbits/s我不能认为speedtest-cli以任何方式是网络速度的有效测试。

@user375058speedtest-cli使用相同的服务器(等)。)作为SpeedTest.net。你应该考虑’speedtest-cli`和’www.speedtest.net"是等价的,只是用一个不同的前端。 我会感到惊讶,如果你得到显着一致不同的结果,如果他们都使用相同的服务器。 如果他们没有使用同一台服务器,那么您就没有比较的基础。 最后,我对这两个实用程序的结果因运行而异2-4因子。 我建议您测试2-4台服务器,并为每台服务器执行3-4次运行并比较工具。

sudo apt安装speedtest-cli

@user375058:我实际上只是按照我的建议做了。 请参阅下面我的评论中的链接,了解我的结果。