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:
- Install iperf:
sudo apt-get install -y iperf
- (On the Pi):
iperf -s
- (On another machine on the same network):
iperf -c 10.0.100.39