您的位置:首页 > 理论基础 > 计算机网络

使用netperf测试网络性能

2016-01-10 01:03 1226 查看
使用netperf测试网络性能

     有时候需要测试两台机器之间的网络性能怎样,包括带宽,延迟等参数。如果每次都写一个程序去测试,还是有点麻烦的,而且不同的人写出的程序性能可能差别比较大,导致测试结果的差别也比较大。好在早就已经有人写好了一个功能和性能都非常好的程序来测试网络性能:netperf,netperf的主页见在这里。具体实现等见文档
    下载安装等就不累述了,在很多Linux发行版都已经带了,如果没有带的话,则请自行下载安装。

下面说一下我的使用方式:

1.测试网络带宽

在对端机器上启动netserver,这是netperf自带的一个服务端程序。可以不带任何参数启动。

在本机输入以下命令启动netperf:

$netperf -H $(对端IP)
    

在本机的输入如下:

MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.0.39 () port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed             
Size      Size       Size          Time         Throughput  
bytes   bytes     bytes          secs.       10^6bits/sec  

 87380  87380  87380    10.01          939.56 

可以看到,带宽的吞吐量基本上达到了千M。

2.测试延迟
在对端机器上启动netserver。
在本机输入以下命令启动netperf:
$netperf -H $(对端IP) -t omni -- -d rr -O "THROUGHPUT, THROUGHPUT_UNITS, MIN_LATENCY, MAX_LATENCY, MEAN_LATENCY"

该命令的输入如下:

OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.0.39 () port 0 AF_INET
Throughput Throughput Minimum      Maximum      Mean         
           Units      Latency      Latency      Latency      
                      Microseconds Microseconds Microseconds 
                                                             
11210.81   Trans/s    53           5063         88.51 

可以看到,在resquest/response测试模式下,每秒的吞吐量为11210次,最小的时延为53微秒,最大为5063微秒,平均时延为88.51微秒。结果显示,有比较少的报文的延迟比较厉害,达到了毫秒级。但是大部分都在100微秒级

测试实验的时候启动了omni模式,文档在这里,该模式启动了很多统计信息的手机,可以使用-o
-O 和-k来格式化输出。

输出参数的列表见这里,还有很多的参数可供选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: