Raspberry Pi 3 iperf3 Tests – Wireless vs. Wired

By | 2016/03/11

So how fast is the Raspberry Pi 3 built on wireless vs. wired? Here is a quick test!


Hardware and OS:

Rapsberry Pi 3, latest Raspbian installed and updated.

Network:

Wired network is a gigabit network, and Pi is connected via Cat6 to a gigabit switch.

Wireless network is 802.11n.

Test software:

iperf3 to an adjacent Debian Jessie host on the same gigabit switch with a gigabit NIC


Some general info from the Pi 3

Wired:

pi@raspberrypi:~ $ sudo ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbag
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
pi@raspberrypi:~ $ 

Wireless:

pi@raspberrypi:~ $ sudo ethtool wlan0
Settings for wlan0:
No data available

pi@raspberrypi:~ $ sudo iwlist wlan0 rate
wlan0     unknown bit-rate information.
          Current Bit Rate=72 Mb/s

iperf3 tests!

iperf3 test on wired (eth0):

pi@raspberrypi:~ $ iperf3 -c 192.168.1.152
Connecting to host 192.168.1.152, port 5201
[  4] local 192.168.1.126 port 58325 connected to 192.168.1.152 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  11.3 MBytes  94.6 Mbits/sec    0   33.9 KBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.0 Mbits/sec    0   33.9 KBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.3 Mbits/sec    0   36.8 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.0 Mbits/sec    0   36.8 KBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.3 Mbits/sec    0   36.8 KBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.0 Mbits/sec    0   36.8 KBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.1 Mbits/sec    0   36.8 KBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.2 Mbits/sec    0   36.8 KBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  94.2 Mbits/sec    0   36.8 KBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.0 Mbits/sec    0   36.8 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   112 MBytes  94.2 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   112 MBytes  94.2 Mbits/sec                  receiver

iperf Done.
pi@raspberrypi:~ $ 

Reverse!

pi@raspberrypi:~ $ iperf3 -c 192.168.1.152 -R
Connecting to host 192.168.1.152, port 5201
Reverse mode, remote host 192.168.1.152 is sending
[  4] local 192.168.1.126 port 58327 connected to 192.168.1.152 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  11.3 MBytes  94.8 Mbits/sec                  
[  4]   1.00-2.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   2.00-3.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   3.00-4.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   4.00-5.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   5.00-6.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   6.00-7.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   7.00-8.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   8.00-9.00   sec  11.2 MBytes  94.2 Mbits/sec                  
[  4]   9.00-10.00  sec  11.2 MBytes  94.1 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   113 MBytes  94.4 Mbits/sec    0             sender
[  4]   0.00-10.00  sec   112 MBytes  94.3 Mbits/sec                  receiver

iperf Done.

iperf3 test on wireless (wlan0):

pi@raspberrypi:~ $ iperf3 -c 192.168.1.152
Connecting to host 192.168.1.152, port 5201
[  4] local 192.168.1.137 port 50864 connected to 192.168.1.152 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  5.46 MBytes  45.8 Mbits/sec    0    123 KBytes       
[  4]   1.00-2.00   sec  5.48 MBytes  46.0 Mbits/sec    0    123 KBytes       
[  4]   2.00-3.00   sec  5.34 MBytes  44.8 Mbits/sec    0    123 KBytes       
[  4]   3.00-4.00   sec  5.46 MBytes  45.8 Mbits/sec    0    130 KBytes       
[  4]   4.00-5.00   sec  5.40 MBytes  45.3 Mbits/sec    0    130 KBytes       
[  4]   5.00-6.00   sec  5.44 MBytes  45.6 Mbits/sec    0    130 KBytes       
[  4]   6.00-7.00   sec  5.54 MBytes  46.5 Mbits/sec    0    153 KBytes       
[  4]   7.00-8.00   sec  5.45 MBytes  45.8 Mbits/sec    0    153 KBytes       
[  4]   8.00-9.00   sec  5.43 MBytes  45.6 Mbits/sec    0    153 KBytes       
[  4]   9.00-10.00  sec  5.56 MBytes  46.6 Mbits/sec    0    153 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  54.6 MBytes  45.8 Mbits/sec    0             sender
[  4]   0.00-10.00  sec  54.3 MBytes  45.6 Mbits/sec                  receiver

iperf Done.

Reverse!


pi@raspberrypi:~ $ iperf3 -c 192.168.1.152 -R
Connecting to host 192.168.1.152, port 5201
Reverse mode, remote host 192.168.1.152 is sending
[  4] local 192.168.1.137 port 50866 connected to 192.168.1.152 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  5.09 MBytes  42.7 Mbits/sec                  
[  4]   1.00-2.00   sec  4.96 MBytes  41.6 Mbits/sec                  
[  4]   2.00-3.00   sec  4.94 MBytes  41.4 Mbits/sec                  
[  4]   3.00-4.00   sec  4.77 MBytes  40.0 Mbits/sec                  
[  4]   4.00-5.00   sec  4.75 MBytes  39.8 Mbits/sec                  
[  4]   5.00-6.00   sec  4.76 MBytes  40.0 Mbits/sec                  
[  4]   6.00-7.00   sec  4.79 MBytes  40.2 Mbits/sec                  
[  4]   7.00-8.00   sec  4.78 MBytes  40.1 Mbits/sec                  
[  4]   8.00-9.00   sec  4.83 MBytes  40.5 Mbits/sec                  
[  4]   9.00-10.00  sec  4.70 MBytes  39.4 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  48.8 MBytes  40.9 Mbits/sec   21             sender
[  4]   0.00-10.00  sec  48.8 MBytes  40.9 Mbits/sec                  receiver

iperf Done.
pi@raspberrypi:~ $ 


Conclusions

So the wired connection is clearly still the better option for pure bandwidth. Wired is literally twice as fast nearing the 100Mb/s limit of the USB bus NIC.

However, the wireless is not too bad at all at ~45Mb/s and does not conflict for USB resource contention.

Rock on,

7 thoughts on “Raspberry Pi 3 iperf3 Tests – Wireless vs. Wired

  1. Sonic

    Great review! This is exactly what I need. I will hit the nearest store to get a Pi 3 right now.

    Reply
  2. Scott Miller Post author

    FWIW I am using this Pi 3 as an owncloud server hosted at home and I’m going with wifi. Works great.

    Reply
  3. Tru

    what about benching reading from a USB storage and writing to the network devices? is there a USB bottleneck on the wired VS wifi ?

    Reply
  4. H. Zia

    Thank you for posting the results. Much appreciated.

    Reply
  5. Damian

    hi sorry may i know the IP address where do you get from for this sentence

    iperf3 -c 192.168.1.152.

    thank you .

    Reply
  6. Sean

    Hello! I would love to know which ip address to type in. I ran some test using speedtest-cli and used the same ip address but i was unable to connect. Also, is this call to iperf3 relatively fast or what is the general time frame?

    Reply
  7. Adjie

    Ahh, Just what I’m looking for! Thanks!

    Oh yeah, others said that if we use USB ethernet or USB WiFi dongle the speed will be higher. I don’t know how significant, mind if you make it a post?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.