通常我们想要测试两台服务器之间的网络链接状况时,我们可能使用ftp,scp等协议传输一个文件来估计网络情况,但是由于会涉及到硬盘的转速和CPU的计算能力,所以并不能真正完全的表现出网络状况
下面介绍5个用来测试网络状况的命令
一:IPERF
基本介绍
iperf是NLANR/DAST开发的,用来测试TCP/UDP带宽情况,此命令有一些参数和udp字符.Iperf可以显示网络带宽,延迟抖动,数据亏损
下面介绍测试网络链接情况的几个标准:
- 延迟(响应时间或者RTT):可以用ping来测试
- 抖动(时延变化):可以通过Iperf 的UDP测试
- 数据包丢失:可以通过Iperf UDP测试
- 带宽情况可以用TCP测试
TCP和UDP不同之处在于:TCP会检测每一个包是否都被正确的传送到了目的地,而UDP不会检测数据包,这也使得UDP比TCP更快
Iperf利用TCP和UDP不同特点来提供网络链接情况
使用方法:
需要有一台server有Iperf允许在某个监听端口上,需要另外一台client机来发送数据消息
例子:

安装:
sudo apt-get install iperf
基本使用方法:
server端:
#iperf -s
------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 8.00 KByte (default) ------------------------------------------------------------ [852] local 10.1.1.1 port 5001 connected with 10.6.2.5 port 54355 [ ID] Interval Transfer Bandwidth [852] 0.0-10.1 sec 1.15 MBytes 956 Kbits/sec ------------------------------------------------------------ Client connecting to 10.6.2.5, TCP port 5001 TCP window size: 8.00 KByte (default) ------------------------------------------------------------ [824] local 10.1.1.1 port 1646 connected with 10.6.2.5 port 5001 [ ID] Interval Transfer Bandwidth [824] 0.0-10.0 sec 73.3 MBytes 61.4 Mbits/sec
client端:
#iperf -c 10.1.1.1 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.1.1.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 10.6.2.5 port 60270 connected with 10.1.1.1 port 5001
[ 4] local 10.6.2.5 port 5001 connected with 10.1.1.1 port 2643
[ 4] 0.0-10.0 sec 76.3 MBytes 63.9 Mbits/sec
[ 5] 0.0-10.1 sec 1.55 MBytes 1.29 Mbits/sec
iperf也能在windows上使用,iperf的主页及更多的参数说明:http://openmaniak.com/iperf.php
二:NETCAT
基本介绍:
netcat被称为功能丰富的网络调试和勘探工具.许多linux发行版都自带这一工具
基本使用方法:
一台server机,一台client机
server端:
nc -v -v -l -n 2222 >/dev/null
listening on [any] 2222 ...
client端:
time yes|nc -v -v -n 10.1.1.1 2222 >/dev/null
大概10s之后,在client端用Ctrl+C来停止,观察输出
Client端:
sent 87478272, rcvd 0
real 0m9.993s
user 0m2.075s
sys 0m0.939s
Server端:(单位字节)
sent 0, rcvd 87478392
然后用87478392乘以8,再除以10s即可,得出网速70m/s
参考:http://deice.daug.net/netcat_speed.html
三:Bandwitdth Test Controller(BWCTL)
基本介绍:
BWCTL是个命令行的程序,可以做为daemon运行。可以测试TCP和UDP的性能。
BWCTL在两个终点上运行,当两个终端都提出测试的请求时,BWCTL开始运行,得出测试数据,分享给两个终端
基本使用方法:
参考官方主页:http://www.internet2.edu/performance/bwctl/manpages.html
四:nuttcp
基本介绍:
类似于iperf的工具,可以用来测试tcp和udp
安装:
sudo apt-get install nuttcp
基本使用方法:
1:
server端:
nuttcp -S
client端:
nuttcp serverip
2:
还可以测试任意两个站点的网络链接情况
nuttcp host1 host2
注:man nuttcp获得更多的参数
参考:http://www.wcisd.hpc.mil/nuttcp/Nuttcp-HOWTO.html
五:thrulay
基本介绍:
检测网络的负载情况,延时等其他网络性能,对于tcp和udp都有很好的检测,有易读的输出结果
参考:http://e2epi.internet2.edu/thrulay/thrulayd.man.html
个人觉得thrulay,iperf需要好好研究下
发表在《
发表在《
发表在《
好东西,我一般都是直接传文件。
[回复]
freetstar
回复:
三月 6th, 2011 at 11:56 上午
@dorole, 这几天学校局域网不给力,一直掉线。本来打算好好每个解说下的
[回复]
哇卡卡,Free哥变成名副其实的Linux SA了的说!
[回复]
freetstar
回复:
三月 5th, 2011 at 6:46 下午
@Mucid, 有可能阿
[回复]
Mucid
回复:
三月 5th, 2011 at 7:21 下午
@freetstar, 嘿嘿,为表示庆祝请鹚吃饭吧
[回复]
freetstar
回复:
三月 5th, 2011 at 7:23 下午
@Mucid, 好啊,有机会找你玩去
[回复]
Mucid
回复:
三月 5th, 2011 at 7:28 下午
@freetstar, 嗦噶,鹚记住了!
[回复]