买了云服务器安装Nginx系统环境后,需要检查云服务器带宽网速情况,在 Windows 下有各种图形化客户端可以进行测速,也可以用浏览器打开测速网站进行测速,但在的 Linux系统 往往是没有视窗的,此时需要借助一些终端 shell 来测速,下面就分享几种网络测速方法。

wget 常规测速

比如 wget 或 curl 这种方法,下载某个网络上的文件来测速网络速度,比如下载 Lnmp一键环境安装包,如下:

wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz

Saving to: `lnmp1.8.tar.gz'

100%[===========================================>] 488,716,790 48.5M/s   in 8.9s    

2032-11-21 3:11:59 (52.4 MB/s) - `lnmp1.8.tar.gz' saved [488716790/488716790]

Speedtest 测速

Speedtest 是一个用 Python 编写的轻量级 Linux命令行工具,在 Python2.4 至 3.4版本下均可运行。它基于Speedtest.net 的基础架构来测量网络的上/下行速率,安装 Speedtest 方法:

wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
mv speedtest.py /usr/local/bin/speedtest
chown root:root /usr/local/bin/speedtest

执行以上几个命令就安装好了,然后运行的时候只要输入 speedtest,如果你想分享测试结果,你可以使用参数 –-share,它将会把你的测试结果上传到 Speedtest.net 服务器并以图形的方式分享给其他人。

一键脚本测速

这个脚本博主非常喜欢,测速结果也很详尽,几乎全面适用于各种 Linux 发行版的网络 和 IO 测试,显示当前测试的各种系统信息,取自世界多处的知名数据中心的测试点,下载测试比较全面,支持 IPv6 下载测速,IO 测试三次,并显示平均值。

通过 https://github.com/teddysun/across/blob/master/bench.sh 下载测速脚本,上传到服务器 root 目录下,进行执行,方法如下:

cd /root
# 进入root目录
wget -qO- bench.sh | bash
# 或者下面这命令下载执行
curl -Lso- bench.sh | bash

优先推荐使用 bench.sh 一键脚本测速,主要是可以测试全球节点,数据更加直观点。

iperf 测速方法

iperf 分为 server 和 client,支持 TCP测速 和 UDP测速,个人建议局域网使用 UDP测速 会比较准确,对于丢包率和延迟都能反映的比较明显,而TCP由于重传机制,真实的带宽会不准。

服务端监听UDP命令:

iperf -s -u

客户端使用UDP测试命令:

iperf -u -c 服务端IP -b 1000M -t 60 -i 10

iperf 命令行的参数可以 iperf -help 查看,参数如下:

-s server
-c client + server IP
-u udp
-b bandwidth
# 这个是用来表示使用多大带宽进行发包,根据真实环境进行调整
-t time
# 发包多长时间,单位是秒
-i interval
# 结果输出间隔时间,如果不加这个参数,那么就等到全部测试完成才给结果

iftop 查看单个IP耗费的流量,安装后直接 iftop命令,然后就看到效果了。