Networking Benchmarks

Below are some benchmarks for comparing networking performance on the Raspberry Pi.

Connection Pi Download LAN - from Pi LAN - to Pi iperf
Edimax USB 802.11n B+ 2.94 MB/s 2.59 MB/s 2.87 MB/s 44.5 Mbps
Onboard WiFi1 3 B 3.86 MB/s 4.56 MB/s 3.15 MB/s 38.8 Mbps
Onboard WiFi1 3 B+ 5.81 MB/s 10.55 MB/s 8.76 MB/s 97.9 Mbps
Onboard WiFi1 4 B 8.52 MB/s 10.66 MB/s 9.09 MB/s 92.8 Mbps
Onboard LAN B+ 2.69 MB/s 2.66 MB/s 3.43 MB/s 94.4 Mbps
Onboard LAN 2 B 8.54 MB/s 7.77 MB/s 9.12 MB/s 94.8 Mbps
Onboard LAN 3 B 3.45 MB/s 9.12 MB/s 8.39 MB/s 94.8 Mbps
Onboard LAN 3 B+ 11.6 MB/s 27.67 MB/s 11.04 MB/s 224 Mbps
Onboard LAN 4 B 20.2 MB/s 40.77 MB/s 47.86 MB/s 933 Mbps
USB3 GigE B+ 6.32 MB/s 2.95 MB/s 3.44 MB/s 222 Mbps
USB3 GigE 2 B 6.11 MB/s 8.39 MB/s 6.36 MB/s 214 Mbps
USB3 GigE 3 B 10.6 MB/s 13.98 MB/s 9.98 MB/s 321 Mbps2
MacBook Pro (Mac) 11.15 MB/s 90.38 MB/s 90.35 MB/s 940 Mbps

(Macbook Pro benchmark added for simple comparison… just to show a typical current-gen laptop's performance, and show how network file copy performance still has plenty of room for improvement.)

1 Tested with power management disabled for better connection stability (sudo iwconfig wlan0 power off).
2 From time to time, if you don't use a fan or adequate heatsink, the network throttles to ~50 Mbps, especially after long duration stress tests (even with a passive heatsink on the Broadcom CPU). For many use cases, this throttling won't occur because the processor will have time to cool down between bursts.

Benchmarks

Download

wget -O /tmp/test100.zip http://speedtest.wdc01.softlayer.com/downloads/test100.zip

Rationale: Downloading a file over the Internet—if you have a fast connection—is a good test for raw throughput on the Pi; in our case, we’re downloading the file to a location on the microSD card, so we can see how downloads perform while also saving the data to disk. This can have an impact on the overall download speed. If you have < 100 Mbps reliable Internet, this may not be as helpful a benchmark as the others.

LAN - to/from Pi

rsync --progress pi@10.0.100.39:/tmp/test100.zip ~/Downloads/test100.zip
rsync --progress ~/Downloads/test100.zip pi@10.0.100.39:/tmp/test100.zip

Rationale: Copying a large file over the network gives a decent idea of how well the Pi can handle high data rates while also reading and/or writing a file to the internal microSD card.

iperf

iperf -c 10.0.100.39

Rationale: iperf is a simple tool to test the raw throughput of your network and interface. If you have a Gigabit network, the maximum theoretical throughput is 1000 Mbps. If you have a 10/100 network, the maximum theoretical throughput is 100 Mbps. In the real world, these speeds will vary, though a decent network connection (over a fast system bus) should yield numbers in the high 90%s of the theoretical maximum.

WiFi speeds are always highly dependent on signal strength, the quality of your router, the wireless environment, etc., so they typically will vary much more from place to place.

Setup:

  1. Install iperf: sudo apt-get install -y iperf
  2. (On the Pi): iperf -s
  3. (On another machine on the same network): iperf -c 10.0.100.39