Raspberry Pi 3 and Iperf
It’s been four years since the release of the Raspberry Pi platform, and the excitement for each new version hasn’t diminished! Two weeks ago, the Raspberry Pi Foundation announced the release of the Raspberry Pi 3. The most notable upgrades are the on-board WiFi and Bluetooth support, as well as the more powerful 64-bit ARM quad-core processor.
For us, networking and Raspberry Pi junkies, these are great news. At NetBeez, we use the Raspberry Pi as our main platform for wired and wireless monitoring and already started testing the Raspberry Pi 3. In this post I will compare the Raspberry Pi 3 to Raspberry Pi 2 with respect to iperf performance.
In a previous post, I compared the Raspberry Pi, Odroid, Banana Pi, and Odroid platforms. Among them, the Raspberry Pi 2 is the one that achieves the lowest bandwidth,which maxes out at 95 Mbps. The CPU has the processing power to produce more bandwidth, but it gets throttled by the 10/100 interface. Unfortunately, the Raspberry Pi 3 has a 10/100 interface as well.
A way to push more iperf traffic from the Raspberry Pi is to use a USB gigabit adapter like the j5Create JU130.
Of course, in this case, the limiting factor is the USB 2.0 transfer data rate of 480 Mbps. Let’s see if the Raspberry Pi hardware can get anywhere close to that figure.
Iperf Throughput
For this test, I measured the performance with the same USB gigabit adapter on the RPi 2 and RPi 3 as transmitter and receiver. This comparison is complementary to the study I did on the Raspberry Pi, Odroid, Banana Pi, and Odroid platforms and below you can see a more complete graph that includes performance results with the addition of the RPi 2 and RPi 3 using the gigabit USB adapter.
Without the USB adapter, the RPi 2 and 3 achieve the same maximum iperf bandwidth of approximately 94 Mbps. This is pretty close to the theoretical limit of 100 Mbps imposed by the 10/100 interface.
With the USB adapter, we see that they are able to achieve higher bandwidth, but less than half the limit of 480 Mbps imposed by the USB 2.0 interface. The RPi 3 goes up to 215 Mbps and 222 Mbps as a transmitter and receiver respectively, while the RPi 2 goes up to 167 Mbps and 205 Mbps respectively. Most likely, the reason for not reaching the 480Mbps is the fact that the USB and the ethernet interface share the same controller, which is not an optimal solution. It keeps the part count and the board cost low, but might introduce bottlenecks in the performance.
Stay tuned for my next blog post. It will be on the on-board WiFi of the Raspberry Pi 3.