I have created many guides for the Raspberry Pi as a media server, while the RPi mostly holds its own there are lags and freezes. I think people expect too much of the low-powered beast sometimes, after all it was created for learning programming and development – not media servers. I have looked for powerful Raspberry Pi alternatives, the Banana Pi got decent press so I chose to test it. I am primarily interested in the Banana Pi's ability as a media server or NAS and its potential to serve data like media files to several clients. For media server purposes, SATA and Gigabit should mean significant throughput performance benefits over the Raspberry Pi mainly because the RPi's 100Mbit network interface is shared with the USB interface creating a bottleneck.
Also see connecting 4 SATA hard drives to the Banana Pi
Here is a quick summary of the specs of the Raspberry vs Banana Pi, notably it has a faster processor and twice the RAM. The Banana Pro has the same specifications but has Wifi on board so these benchmarks should all be applicable for both Raspberry Pi Alternatives made by LeMaker.
|Raspberry Pi 3|
|Raspberry Pi 2|
|Banana Pi Pro|
Raspberry vs Banana Pi Benchmarks – Do SATA and Gigabit Matter?
This post shows a series of benchmarks displaying the significance of SATA and Gigabit for using microcomputers as media servers. It contains a series of tests for the Banana Pi including the following
- USB and SATA FTP because transferring files is normal for a NAS or media server
- USB and SATA SAMBA transfers because many will want to share media files to XBMC
I used these pieces of equipment for the tests
- TP-LINK 5-Port Gigabit Switch, 10Gbps Capacity
- Cat 5 and Cat5e network cables
- 160 GB 7200 RPM 2.5” Hard Drive formatted as ext4 for all the tests
- Banana Pi SATA Cable
I used Bananian on the Banana Pi because it has the lowest memory footprint of the debian-based distros available.
For the Raspberry Pi I used Minibian because it has a low memory footprint for a Raspbian-based distro.
All tests were repeated 5 times and averaged to calculate an accurate data transfer rate.
I did not test WiFi because – despite its convenience – I always avoid it because connections drop and speeds are overall worse than with ethernet. That may change as 802.11ac spreads but for now ethernet is rock solid and should be used for reliable NAS or media server setups for maximum speed wherever possible. SFTP was not tested because the overhead of the encryption is too much for these ARM processors to handle, limiting speeds to about 5 MB/s.
Network Throughput Tests over LAN
I set up an iperf server on a Windows machine and connected to via 100Mbit and 1000Mbit from the Raspberry and Banana Pi. The Raspberry Pi only has a 100 MBit ethernet port while the Banana Pi has a 1 Gbit ethernet port.
The Raspberry Pi scored 68 Mbit/s whereas the Banana Pi achieved 94 Mbit which is 1.38x faster over fast ethernet (100 Mbit capacity). Performing the same test over gigabit ethernet, the Banana Pi scored an impressive 470 Mbit/s which is 6.91x faster than the Raspberry Pi.
USB Drive Network Throughput Benchmarks
For all these tests, I used a 160 GB 7200 RPM 2.5″ Hard Drive formatted as ext4.
USB FTP Drive Throughput
This section shows data transfer rates to and from the Raspberry and Banana Pi via FTP to a Windows machine
Uploading and Downloading via FTP with Raspberry and Banana Pi
In this test, I used a 1GB.zip file obtained from thinkbroadband. vsftpd was used as the FTP server on both the Banana and Raspberry Pi. For the download test, the 1GB file was transferred from the mounted USB hard drive to a Windows machine across a 100Mbit and 1Gbit line. In the upload test, the 1GB file was transferred to the mounted USB hard drive from a Windows machine across a 100Mbit and 1Gbit line.
Uploading via FTP to the Raspberry Pi measured 7.48 MB/s while the Banana Pi yielded 17.3 MB/s making the Banana Pi 2.3x faster if you are uploading data via FTP.
Downloading via FTP from the Banana Pi yielded 27.4 MB/s while on the Raspberry Pi I got a flat 10 MB/s – the Banana Pi is 2.74x faster if you are downloading large files from FTP.
USB SAMBA Throughput
Uploading and Downloading via SAMBA Share on Raspberry and Banana Pi
I created a SAMBA share on the Banana and Raspberry Pi which contained the mounted USB external drive. In the download test, the 1GB.zip was copied from the SAMBA share to the Windows machine. For the upload test the same file was copied to the SAMBA share. Robocopy was used on a Windows machine to gather the time and transfer rate.
Downloading 1 GB took almost 4 minutes from the SAMBA share on Raspberry Pi at 4.42 MB/s.
Downloading 1 GB took only 41 seconds from the Banana Pi's SAMBA share at 24.68 MB/s – this is 5.58x faster than the Raspberry Pi.
Uploading 1 GB to SAMBA share on Raspberry Pi was slower than downloading, 7.55 MB/s took about 2 minutes and 16 seconds.
Uploading 1 GB to Banana Pi SAMBA share took 38 seconds, transferring at 26.45 MB/s which is 3.5x faster than the Raspberry Pi.
Banana Pi SATA Tests
The same 160 GB 7200 RPM 2.5″ Hard Drive was used for the SATA tests. The procedure was identical to the USB tests except the hard drive was connected via SATA.
SATA Drive FTP Throughput
Uploading and Downloading via FTP from Banana Pi
For FTP uploads via SATA the Banana Pi pulls 26.3 MB/s which is 1.5x faster than via USB. Compared to the USB transfer on the Raspberry Pi the Banana Pi is 3.5x faster!
With FTP downloads via SATA the Banana Pi pushes 47.6 MB/s which is 1.7x faster than USB. Comparing that to the USB transfer on the Raspberry Pi, the Banana Pi is 4.76x faster. You can transfer 1GB in about 20 seconds using the combined power of the Banana Pi's gigabit and SATA 🙂
Banana Pi SATA SAMBA Throughput
The procedure was identical to the USB SAMBA tests except the hard drive was connected to the Banana Pi's SATA port.
Uploading and Downloading via SATA SAMBA Share on Banana Pi
Uploading 1 GB to a SATA SAMBA share completed in 38 seconds, transferring at 26.73 MB/s which was not significantly faster than the USB SAMBA share.
Downloading 1GB from a SATA SAMBA share completed in 39 seconds, transferred at 26.14 MB/s which was not significantly faster than the USB SAMBA share.
These results suggest a SAMBA overhead bottleneck that does not allow the full throughput potential of the Banana Pi. The SATA FTP benchmarks supplement this idea.
The significance of SATA and gigabit ethernet are clear from the Raspberry vs Banana Pi benchmarks. You get up to 4.7 times the speed benefit when combining the power of SATA and gigabit on a Banana Pi compared to a Raspberry Pi when transferring via FTP. While SATA and USB speeds do not significantly differ over SAMBA, transferring over gigabit using the Banana Pi still provides 2.5 times the performance benefit. If you plan to use the Banana Pi to serve media files to XBMC clients, going with FTP over SAMBA seems like the wise choice.
I have received an ODROID-C1 as well which unfortunately does not have SATA, instead it has eMMC modules which provide very fast speeds. eMMC is quite expensive though and not ideal as media storage so my tests will focus on USB transfer rates when I benchmark the ODROID-C1.