近来开始折腾路由器,这些常见的小东西却每台都是“麻雀虽小,脏腑俱全”,运行着Linux而又有着和一般PC大不一样的特殊硬件,是我们平常接触最多也是最有趣的一种嵌入式设备。简单粗鲁的SPIFlash能让我们逐字节的了解设备底层的真是原理,而openwrt的SquashFS+JFFS2Overlay的文件系统结构,又能让我们感遭到linux虚拟文件系统的奇特魅力,自然是非常有趣的。
回归题外话,现在测试广域网的网速已是一件非常便捷的事情,直接即可。而有时须要测试局域网中的速率时,使用广域网的测试服务器会受制于宽带的速率,所以常常只能用传文件这些原始且麻烦的技巧。虽然,局域网也可以有更确切且方便的方式——既然没有测速服务器linux网速测试软件,那我们就自己建一个。
而iperf就是拿来作这件事情的,它是一种linux下的C/S构架的网路带宽测试工具,各大发行版的软件源中都有,甚至包括openwrt以及termux/neoterm,以在路由器(不过因为多数路由器的CPU比较弱鸡,所以不建议在路由器上使用)和Android手机上运行。而Android上甚至还有专门的包含iperf的app,非常便捷。
有一点值得注意的是,iperf分为iperf和iperf3两个版本,这两个版本各自的Server和Client不相互兼容,建议使用iperf3,愈发好用一些。
使用方式
iperf3的用法非常简单,首先在一台设备上启动服务端:
iperf3 -s
若要作为一个daemon启动以保持后台运行,可以加入-D参数。
以后linux网速测试软件linux学习视频,另一台设备上运行顾客端linux系统官网,联接服务端即可测试其之间的联接速率:
iperf3 -c
输出类似这样:
$ iperf3 -c 192.168.1.128 Connecting to host 192.168.1.128, port 5201 [ 5] local 192.168.1.247 port 38736 connected to 192.168.1.128 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 113 MBytes 945 Mbits/sec 0 428 KBytes [ 5] 1.00-2.00 sec 111 MBytes 934 Mbits/sec 0 450 KBytes [ 5] 2.00-3.00 sec 112 MBytes 937 Mbits/sec 0 450 KBytes [ 5] 3.00-4.00 sec 111 MBytes 934 Mbits/sec 0 482 KBytes [ 5] 4.00-5.00 sec 112 MBytes 937 Mbits/sec 0 505 KBytes [ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec 0 505 KBytes [ 5] 6.00-7.00 sec 111 MBytes 932 Mbits/sec 0 505 KBytes [ 5] 7.00-8.00 sec 112 MBytes 937 Mbits/sec 0 505 KBytes [ 5] 8.00-9.00 sec 112 MBytes 940 Mbits/sec 0 505 KBytes [ 5] 9.00-10.00 sec 111 MBytes 930 Mbits/sec 0 526 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.09 GBytes 937 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 1.09 GBytes 934 Mbits/sec receiver iperf Done.
这样就可以反映出设备间真实的联接速率,虽然其实你早已注意到了,iperf除了可以在局域网中用,也可以在广域网中的服务器上运行服务端,不过因为通常都直接用httpd之类的服务测速度了,所以不是很常用。
杂记
虽然不仅iperf,还有愈发简单粗鲁的方式,即使用Netcat当成透传的服务端和顾客端,用dd来发送数据并统计速率:
Server:nc -vvlnp > /dev/null Client: dd if=/dev/zero bs=1M count=1K | nc -vvn
不过这样只能测试Client->Server双向的速率,且比较狭小。
内容