Ethernet performance with Netperf

This page provides information about ethernet performance. Script should generate dokuwiki format. 
Thanks for sending your results (Full script output log + information about your hardware - devel board 
or information about your configuration).

Michal Simek

Install guide

  • Install netserver on your PC
    • run netserver
[root@monstr ~]# netserver 
Starting netserver at port 12865
Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC
  • Download test script here (quick release)
    • Unpack to your petalinux-dist/romfs folder (Check file permission - 755 or 777)
    • Please check your kernel hacking (make linux_menuconfig) and disable all options
    • Build your kernel with fs (I tested this script on both kernels - MMU and noMMU)
  • Boot linux kernel
    • check if is netmeasure.sh script there
  • Run the script: netmeasure.sh -h 192.168.0.1 -c 10
    • Parameters: -h host IP where netserver is, -c count

ICMP test

# ping -f 192.168.0.102 -c 1000000
PING 192.168.0.102 (192.168.0.102): 56 data bytes
.....................................................................
--- 192.168.0.102 ping statistics ---
1000069 packets transmitted, 1000000 packets received, +1 duplicates, 0% packet loss
round-trip min/avg/max = 0.0/0.8/20.0 ms

Test description

TestTest nameUnits of measure
TCP STREAM TESTTCP_STREAMkbits/sec
UDP UNIDIRECTIONAL SEND TESTUDP_STREAMkbits/sec
TCP MAERTS TESTTCP_MAERTSkbits/sec
TCP REQUEST/RESPONSE TEST TCP_RRRate per sec
TCP Connect/Request/Response TESTTCP_CRRRate per sec
UDP REQUEST/RESPONSE TEST UDP_RRRate per sec

For more info please look at http://netperf.org/netperf/.

Results

ml505 board - latest svn PetaLogix head

GMII standard reference design from BSB with SGDMA.

noMMU-ll_temac 100MB
TCP_STREAM 13793 13696 13648 13689 13693 13696 13700 13703 13846 13698 13841 13685 13832 13836 13687 13834 13731 13683 13848 13693Average13741
UDP_STREAM 24579 24497 24542 24553 24550 24554 24551 24562 24576 24593 24581 24587 24591 24595 24591 24585 24559 24562 24572 24564Average24567
TCP_MAERTS 12916 12915 12911 12973 12871 12951 12865 12790 12929 12883 12896 12876 12894 12885 12894 12885 12823 12863 12834 12957Average12890
TCP_RR 256 257 256 257 256 256 257 258 256 256 255 258 256 258 256 258 256 251 256 258Average256
TCP_CRR 94 94 93 94 93 94 94 94 93 93 94 94 93 94 94 94 93 94 93 94Average93
UDP_RR 274 273 275 273 270 273 273 273 273 273 274 274 273 275 273 274 269 269 273 274Average272
MMU kernel with kernel debug option
TCP_STREAM 2948 2749 2647 2724 2724 2734 2692 2684 2748 2654 2766 2591 2713 2689 2829 3037 3083 2750 3002 2750Average2775
UDP_STREAM Averagefailed
TCP_MAERTS 4017 3999 3288 3442 3330 4014 3993 3257 3996 3974 4007 3136 3989 3994 4010 3133 3966 3939 3457 3940Average3744
TCP_RR 70 72 72 72 71 72 73 73 73 72 71 72 72 73 73 73 72 73 71 72Average72
TCP_CRR 19 19 19 19 19 19 19 19 19 20 19 19 19 19 19 19 19 19 20 20Average19
UDP_RR 80 80 80 75 80 81 79 80 80 81 80 78 79 80 80 79 81 80 80 80Average79
MMU kernel 100MB
TCP_STREAM 11152 11096 11054 11091 11023 11042 11050 11041 11064 11056 11103 11077 11084 10952 11064 11027 10854 11044 11082 11088Average11052
UDP_STREAM 40222 40431 39963 40385 40069 40308 39869 40352 39842 40414 39729 39958 40146 39751 39992 40523 39972 39982 40084 39962Average40097
TCP_MAERTS 8882 9381 8908 8844 8735 9243 8926 9219 9313 8852 8742 9139 8813 9326 9329 8791 9095 9328 9370 9209Average9072
TCP_RR 211 209 210 209 209 210 210 210 210 210 210 210 211 210 211 210 210 210 210 209Average209
TCP_CRR 70 71 71 71 71 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70Average70
UDP_RR 230 229 229 229 229 229 229 229 230 230 230 229 230 230 230 230 230 229 229 229Average229
noMMU 1G-ll_temac
TCP_STREAM 13905 13879 13722 13787 13669 13788 13774 13775 13788 13788Average13787
UDP_STREAM 24790 24842 24842 24815 24763 24763 24763 24763 24710 24710Average24776
TCP_MAERTS 11996 12194 12017 12121 12006 12101 12090 12038 12100 12111Average12077
TCP_RR 256 257 257 246 251 256 255 255 257 255Average254
TCP_CRR 94 94 94 94 94 91 93 94 94 93Average93
UDP_RR 271 271 272 273 272 270 271 272 272 270Average271
MMU-1G debug on
TCP_STREAM 3090 3117 3110 3133 3038 3090 3113 3058 3110 3094Average3095
UDP_STREAM Averagefailed
TCP_MAERTS 3548 3910 3900 3950 4001 3898 3982 3350 3972 3681Average3819
TCP_RR 71 72 68 72 64 63 72 72 73 74Average70
TCP_CRR 20 20 20 19 19 19 19 19 20 19Average19
UDP_RR 80 81 81 80 81 81 81 81 80 80Average80
MMU-1G debug off
TCP_STREAM 10791 10713 10724 10661 10608 10647 10556 10569 10530 10556Average10635
UDP_STREAM 40364 40259 40312 40585 40154 39997 40259 40207 41202 40312Average40365
TCP_MAERTS 8577 8891 8933 8780 8842 8832 8853 8842 8871 8584Average8800
TCP_RR 203 203 202 202 202 201 203 201 202 202Average202
TCP_CRR 68 68 68 68 67 68 68 68 68 68Average67
UDP_RR 225 224 224 225 223 223 224 223 224 224Average223

Xilinx notes

Network Performance

It's a new day and even the simplest embedded systems often require Ethernet connectivity. Xilinx FPGAs provide a variety of Ethernet IP that can be easily used with MicroBlaze with the following results.
125MHz MicroBlaze / 125MHz MPMC / 125MHz PLB46 System on ML505 Board
Packet Size (bytes) 	10Mbit Link (Mbps) 	100Mbit Link (Mbps)	1000Mbit Link (Mbps)
64 	7.619 	76.19 	761.9
128 	8.611 	86.11 	861.1
512 	9.624 	96.24 	962.4
1518 	9.870 	98.70 	987.0
9000 	9.978 	99.78 	997.8
Results from XAPP 1041: Reference System: XPS LL Tri-Mode Ethernet MAC Embedded System for MicroBlaze and PowerPC Processors
Maximum Configurability

OLD Net performance tests for emaclite driver(TX,RX - ping-pong off) on FDT kernel

Kernel log

config file

DTS

Tests

netperf -H 192.168.1.102 -t TCP_STREAM
netperf -H 192.168.1.102 -t TCP_MAERTS
netperf -H 192.168.1.102 -t TCP_RR
netperf -H 192.168.1.102 -t TCP_CRR
netperf -H 192.168.1.102 -t UDP_STREAM
netperf -H 192.168.1.102 -t UDP_RR
 l - len in sec
 i - iteration
Microblaze: nc -l -u -p 4794
x86: echo "hello" | nc -l 192.168.1.120 1234
# /etc/init.d/network 
Setting up interface lo: 
Setting up interface eth0: 
Starting NFS:
Starting portmap:
# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.1.120:752       192.168.1.102:sunrpc    TIME_WAIT   
tcp        0      0 192.168.1.120:709       192.168.1.102:nfs       ESTABLISHED 
tcp        0      0 192.168.1.120:753       192.168.1.102:956       TIME_WAIT   
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
# 

Results

LIBSELFMODTCP STREAMTCP MAERTSTCP RRTCP CRRUDP STREAMUDP RR
ONON5.96, 6.10, 6.04, 5.975.72, 5.71, 5.70, 5.70360.84, 347.35, 380.42, 338.764.60, 4,60, 0.40, 1.3 10.03, 10.01, 10.01, 10.01529.07, -, 111.99, -
ON-ASMON5.98, 5.82, 5.99, 5.995,72, 5.64, 5.64, 5.73359,90, 340.56, 390.41, 337.364.60, 4.60, 4.60, 4.5010.01, 10.01, 10.00, 10.02274.13, 72.73, 62.84, -
OFFON4.484.47294.414.507.22, 7.2286.31
OFFOFF4.454.55293.514.507.25, 7.2519.18
ONOFF5.94, 5.96, 5.97, 5.965.72, 5.58, 5.71, 4.32395.10, 394.21, 404,30, 44.06 4.50, 4.50, 4.60, 0.1010.02, 10.03, 10.02, -10.19, 87.71, -, -
tested12.889.36513.894.700.16 - only 3 -

Library-ON, Selfmod-ON

# ./netperf 
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.02       5.96   
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.01       5.72   
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01     360.84   
16384  87380 
TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01       4.60   
16384  87380 
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) port 0 AF_INET
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

104448   65507   10.03         192      0      10.03
109568           10.03         192             10.03

UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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   

104448 104448 1        1       10.01     529.07   
109568 109568

Library-OFF, Selfmod-ON

# ./netperf 
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.03       4.48   
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.20       4.47   
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01     294.41   
16384  87380 
TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01       4.50   
16384  87380 
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) port 0 AF_INET
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

104448   65507   10.01         138      0       7.22
109568           10.01         138              7.22

UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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   

104448 104448 1        1       10.01      86.31   
109568 109568

Library-OFF, Selfmod-OFF

# ./netperf 
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.01       4.45   
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.00       4.55   
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01     293.51   
16384  87380 
TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01       4.50   
16384  87380 
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) port 0 AF_INET
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

104448   65507   10.05         139      0       7.25
109568           10.05         139              7.25

UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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   

104448 104448 1        1       10.01      19.18   
109568 109568

Library-ON, Selfmod-OFF

# ./netperf 
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.02       5.94   
TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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.01       5.72   
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.00     395.10   
16384  87380 
TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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  1        1       10.01       4.50   
16384  87380 
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) port 0 AF_INET
Socket  Message  Elapsed      Messages                
Size    Size     Time         Okay Errors   Throughput
bytes   bytes    secs            #      #   10^6bits/sec

104448   65507   10.04         192      0      10.02
109568           10.04         192             10.02

UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.102 (192.168.1.102) 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   

104448 104448 1        1       10.01      10.19   
109568 109568
kernel/testing/net.txt · Last modified: 2020/09/01 10:59 by 127.0.0.1
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0