Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196992
  • 博文数量: 77
  • 博客积分: 1749
  • 博客等级: 上尉
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-28 18:27
文章分类
文章存档

2012年(28)

2011年(49)

分类: LINUX

2012-01-08 22:53:48

1. Netperf
Netperf是一种基于C/S模式的网络性能的测量工具,主要针对基于TCP 或UDP的传输。
它提供两种不同的网络性能测试模式:
批量数据传输(bulk data transfer)模式
请求/应答(request/reponse)模式。
Netperf测试结果所反映的是两个系统之间发送和接受数据的速度和效率。
我们的测试分4个部分:
1) 单个TCP连接,批量(bulk)传输大量数据 
2) 单个TCP连接,client请求/server应答的交易(transaction)方式 
3)从client到server的单向批量UDP传输 
4) 请求/应答的UDP交易方式 
由于UDP传输的不可靠性,在使用netperf时要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据会丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。

安装:进入源码文件夹
./configure //配置netperf所需文件
 make //编译生成二进制包
make install//安装

1.3. Netperf使用
Netperf 基于C/S模式,需要在测试源端运行netsever,而本地运行netperf进行连接并测试。

Netperf全局命令参数介绍:
netperf [global options]-- [test-specific options]
-H host :指定远端运行netserver的server IP地址。 
-l testlen:指定测试的时间长度(秒) 
-t testname:指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR,以下测试中114.212.80.7作为server端。

首先,server端  netserver
1.TCP批量传输
netperf -H 114.212.80.7 -l 60 -t TCP_STREAM
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    60.01     915.48 
吞吐量为915.48Mbits/s
2. UDP批量传输
netperf -H 114.212.80.7 -l 60 -t UDP_STREAM
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec
124928   65507   60.00      108589      0     948.42
110592           60.00      107810            941.62
UDP_STREAM方式的结果中有两行测试数据,第一行显示的是本地系统的发送统计,这里的吞吐量表示netperf向本地socket发送分组的能力。第二行显示的就是远端系统接收的情况。

3.TCP请求应答模式
netperf -H 114.212.80.7 -t TCP_RR
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET : first burst 0
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   
16384  87380  1        1       10.00    4603.31   
16384  87380 
Netperf输出的结果也是由两行组成。第一行显示本地系统的情况,第二行显示的是远端系统的信息。平均的交易率(transaction rate)为3328.91次/秒。注意到这里每次交易中的request和response分组的大小都为1个字节,不具有很大的实际意义。用户可以通过测试相关的参数来改变request和response分组的大小,TCP_RR方式下的参数如下表所示:
参数 说明
-r req,resp 设置request和reponse分组的大小
-s size 设置本地系统的socket发送与接收缓冲大小
-S size 设置远端系统的socket发送与接收缓冲大小
-D 对本地与远端系统的socket设置TCP_NODELAY选项
通过使用-r参数,我们可以进行更有实际意义的测试:
netperf -H 114.212.80.7 -t TCP_RR -- -r 321024
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET : first burst 0
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   
16384  87380  321024   321024  10.00     168.97   
16384  87380 

4.TCP_CRR
TCP_CRR,指的是每次数据交易都建立新的连接,例如HTTP
netperf -H 114.212.80.7 -t TCP_CRR -- -r 321024
MIGRATED TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   
16384  87380  321024   321024  10.00     110.58   
16384  87380 
在本地与114.212.80.7两个节点中,每秒基于TCP_CRR的平均数据交易次数为110.58次。

5.UDP_RR
UDP_RR指的是,在基于UDP连接的数据交易情况。
netperf -H 114.212.80.7 -t UDP_RR
MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET : first burst 0
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   
124928 124928 1        1       10.00    4864.31   
110592 110592

netperf -H 114.212.80.7 -t UDP_RR -- -r 51200
MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 114.212.80.7 (114.212.80.7) port 0 AF_INET : first burst 0
Local /Remote
Socket Size   Request  Resp.   Elapsed  Trans.
Send   Recv   Size     Size    Time     Rate         
bytes  Bytes  bytes    bytes   secs.    per sec   
124928 124928 51200    51200   10.00     798.70   
110592 110592

阅读(1962) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~