netperf2 arm 移植(2:使用)

来源:互联网 发布:烟台网络春晚 编辑:程序博客网 时间:2024/05/02 00:39

1.  netserver

root@zanget:win# ifconfig

eth0      Link encap:以太网  硬件地址 00:0c:29:da:b1:76 

          inet 地址:10.22.5.225  广播:10.22.5.255  掩码:255.255.255.0

          inet6 地址: fe80::20c:29ff:feda:b176/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1

          接收数据包:6111 错误:0 丢弃:0 过载:0 帧数:0

          发送数据包:838 错误:0 丢弃:0 过载:0 载波:0

          碰撞:0 发送队列长度:1000

          接收字节:417090 (417.0 KB)  发送字节:97962 (97.9 KB)

          中断:18 基本地址:0x2024

 

eth0:1    Link encap:以太网  硬件地址 00:0c:29:da:b1:76 

          inet 地址:192.168.1.6  广播:192.168.1.255  掩码:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1

          中断:18 基本地址:0x2024

 

Netperf使用方法及選項

Netperf 的程式包含兩個部份,netserverserver端行程,netperf則是client端行程。因此在執行netperf前要先確定netserver是否在另一端執行:

root@zanget:Project# netserver  -d -L 192.168.1.6 -4

set_up_server called with host '192.168.1.6' port '12865' remfam 2

getaddrinfo returned the following for host '192.168.1.6' port '12865' family AF_INET

         cannonical name: '(nil)'

         flags: 1 family: AF_INET: socktype: SOCK_STREAM protocol IPPROTO_TCP addrlen 16

         sa_family: AF_INET sadata: 50 65 192 168 1 6

Starting netserver at port 12865

Starting netserver at hostname 192.168.1.6 port 12865 and family AF_INET

 

虽然打印了较多(错误)信息,但是服务依然成功开启:

root@zanget:win# netstat -an | grep 12865

tcp        0      0 192.168.1.6:12865       0.0.0.0:*               LISTEN

 

netperf

參數說明:

-H remote_host

-t testname (TCP_STREAM, TCP_RR, UDP_STREAD…)

-m 設定訊息的大小

-l 設定測試的時間, 單位:(預設為10)

 

2.  测试TCP

Bulk data transfer mode可用來量測主機之間的可用頻寛。下面是我在板子上执行TCP

/netperf/bin # ./netperf -H 192.168.1.6

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.6 (192.168.1.6) 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    10.11       4.27

 

 

3.  UDP测试

除了TCP外,我們也可以使用UDP-t參數可以用來指定資料流的種類,下面是我在板子上执行UDP

/netperf/bin # ./netperf -H 192.168.1.6 -t UDP_STREAM -- -m 1024

UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.6 (192.168.1.6) port 0 AF_INET

enable_enobufs failed: getprotobyname

Socket  Message  Elapsed      Messages               

Size    Size     Time         Okay Errors   Throughput

bytes   bytes    secs            #      #   10^6bits/sec

 

105472    1024   10.00        4996      0       4.09

112640           10.00        4996              4.09

Netpref預設的UDP料流 (stream) 大小是9216 byte。在傳送時很容引起緩衝區溢位使得封包在接收端遺失;假如有太多的封包遺失,Netpref測到的的頻寛會較實際的小很多。所以在這我們使用-m參數重設訊息的大小,--符號是要告訴Netpref-m這個參數加入UDP_STREAM這個模組中。

 

 

4.  拷贝文件测试

/home # date && cp iso /netperf/share/ && date

Thu Jan  1 02:28:11 UTC 1970

Thu Jan  1 02:43:20 UTC 1970

 

/home # ls -al

total 715432

drwxr-xr-x    3 0        0             4096 Dec  7  2010 .

drwxr-xr-x   20 0        0             4096 Dec  6  2010 ..

-rwxr-xr-x    1 0        0        733007872 Dec  7  2010 iso

 

 

5.  速度计算

 

TCP

4.27   10^6bits/sec = 4.27 * 1000000(0^6) / 8 / 1024 = 521.240234375 KB/s

 

UDP

4.09  10^6bits/sec  = 4.09 * 1000000(0^6) / 8 / 1024 = 499.267578125 KB/s

 

文件拷贝

02:43:20 - 02:28:11 = 00:15:09 = 15*60+9=909s

733007872 bytes = 715828KB

 

715828KB / 909s =787.48954895489548954895489548955KB/S

 

 

 

 

 

原创粉丝点击