网络质量和带宽测试
一:mtr 命令行工具(建议优先使用)
mtr (My traceroute)也是几乎所有 Linux 发行版本预装的网络测试工具。他把 ping和 traceroute 的功能并入了同一个工具中,所以功能更强大。
mtr 默认发送 ICMP 数据包进行链路探测。可以通过 -u 参数来指定使用 UDP 数据包用于探测。
相对于 traceroute 只会做一次链路跟踪测试,mtr 会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。
比较以下两个工具:
traceroute 223.5.5.5 mtr 223.5.5.5
mtr常见可选参数说明:
-r 或 –report:以报告模式显示输出。
-p 或 –split:将每次追踪的结果分别列出来,而非如 –report统计整个结果。
-s 或 –psize:指定ping数据包的大小。
-n 或 –no-dns:不对IP地址做域名反解析。
-a 或 –address:设置发送数据包的IP地址。用于主机有多个IP时。
-4:只使用 IPv4 协议。
-6:只使用 IPv6 协议。
另外,也可以在 mtr 运行过程中,输入相应字母来快速切换模式,比如:
?或 h:显示帮助菜单。
d:切换显示模式。
n:切换启用或禁用 DNS 域名解析。
u:切换使用 ICMP或 UDP 数据包进行探测。
返回结果说明:
默认配置下,返回结果中各数据列的说明:
第一列(Host):节点IP地址和域名。如前面所示,按n键可以切换显示。
第二列(Loss%):节点丢包率。
第三列(Snt):每秒发送数据包数。默认值是10,可以通过参数 -c 指定。
第四列(Last):最近一次的探测延迟值。
第五、六、七列(Avg、Best、Wrst):分别是探测延迟的平均值、最小值和最大值。
第八列(StDev):标准偏差。越大说明相应节点越不稳定。
二:使用iperf3带宽测试
案例1:最简单的测试
iperf3 -s
案例2:测试最大的TCP bandwidth
Server:
使用服务器模式,监听端口为5800,TCP MSS值为1460,报告时间间隔为1秒iperf3 -s -p 5800 -M 1460 -i 1
Client:
连接服务器iperf3 -c 192.168.102.205 -p 5800 -M 1460 -i 1
案例3:
Server:iperf3 -s -i 1 -u
-u表示使用UDP
Client:
使用UDP,测试时间为10秒,使用500m带宽,每1秒一次报告iperf3 -c 192.168.102.205 -i 1 -u -t 10 -b 500m
三:使用speedtest-cli测试公网速度
列出测试服务器speedtest --list
指定测试服务器
speedtest --server=XX --share
自动选择服务器并生成网页报表:speedtest --share
有道云笔记 http://note.youdao.com/noteshare?id=4652353b2b292f25f6f1e9670e5529eb