Many users transfer media around their home using SAMBA shares or FTP. Data can be transferred from USB or SATA hard drives with file systems ext4, NTFS and exFAT. ext4 is a native Linux file system, whereas NTFS and exFAT are Microsoft file systems. Since NTFS and exFAT are foreign file systems, Linux systems require drivers to read and write to these foreign file systems. Converting these foreign file systems requires CPU overhead which affects the data transfer rate. The purpose of these benchmarks is to show the performance for each file system on the Raspberry Pi, Pi 2 and Banana Pi over FTP and SAMBA. If you haven't already, you can check out my other benchmarks (General, Network Throughput SATA and Gigabit, Usenet Downloading and unRAR and PAR2)

Raspberry Pi 2 vs Banana Pi ext4 vs NTFS vs exFAT for SAMBA and FTP

Methodology

I used a Raspberry Pi and Pi 2 both running Minibian and a Banana Pi running Bananian. No devices were overclocked, so the table reflects the speeds used in these tests. It is important to note that the Raspberry Pi and Pi 2's ethernet and USB share the same bus which impairs performance. Also the Banana Pi's gigabit port is limited to 470 Mbit.

Pi Unit Processor RAM RAM Bus Network WiFi USB SATA Cost Raspberry Pi 3 1.2 GHz ARMv8

Quad Core 1 GB DDR2 450 MHz 100 Mbit Yes 4 No $35 Raspberry Pi 2 900 MHz ARMv7

Quad Core 1 GB DDR2 450 MHz 100 Mbit No 4 No $35.00 Raspberry Pi 700 MHz ARMv6

Single Core 512 MB SDRAM 400 MHz 100 Mbit No 4 No $25 Banana Pi 1 GHz ARMv7

Dual Core 1 GB DDR3 432 MHz Gigabit No 2 Yes $36.99 Banana Pi Pro 1 GHz ARMv7

Dual Core 1 GB DDR3 432 MHz Gigabit Yes 2 Yes $45.00

The same 160 GB 7200 RPM 2.5″ Hard Drive formatted as ext4 used in my other benchmarks along with a Banana Pi SATA Cable was the storage device in all tests.

The hard drive was formatted with ext4, NTFS and exFAT. The current NTFS-3G and exfat-utils were installed from the Debian Wheezy repository. Current versions of vsftpd and SAMBA were installed from the Wheezy repositories as well.

I used robocopy for copying SAMBA files and FileZilla to transfer via FTP on an Alienware m14xr2.

ext4 Throughput Benchmarks

FTP

The Raspberry Pi can be uploaded to at a maximum rate of 7.49 MB/s

The Raspberry Pi 2 could take 10.75 MB/s for ftp uploads

The Banana Pi topped at 17.3 MB/s via USB and 26.3 MB/s using SATA for uploads

The Raspberry Pi could be downloaded from at 10 MB/s via FTP

The Raspberry Pi 2 could be downloaded from at 10.75 MB/s via FTP

The Banana Pi could be downloaded from at 27.4 MB/s via USB and 47.4 MB/s via SATA

The SATA benefit here on the Banana Pi is clear, ftp requires very little CPU overhead so maximum speeds are achievable on all devices. Furthermore using the native file system ext4 means even less overhead.

SAMBA

The Raspberry Pi could be uploaded to at 7.55 MB/s via SAMBA

The Raspberry Pi 2 could push uploads at 10.8 MB/s via SAMBA

The Banana Pi could be uploaded to at 26.45 MB/s via USB and 26.73 MB/s via SATA

The Raspberry Pi can be downloaded from at a maximum rate of 4.42 MB/s via SAMBA

The Raspberry Pi 2 can be downloaded from at 10.5 MB/s via SAMBA

The Banana Pi topped at 26.45 MB/s via USB and 26.73 MB/s using SATA for downloading from SAMBA

Strangely enough the SATA benefit of the Banana Pi is non-existent, this is most likely due to the CPU overhead of using SAMBA

NTFS Throughput Benchmarks

FTP

The Raspberry Pi could be uploaded to at only 1.66 MB/s via FTP using NTFS

The Raspberry Pi 2 could be uploaded to at 10.52 MB/s via FTP using NTFS

The Banana Pi could be uploaded to at 7.7 MB/s using USB and 6.49 MB/s using SATA

The NTFS-3G write driver underperforms because it is very CPU intensive, this is why the Pi 2 can beat the Banana Pi because the Pi 2 has 4 cores compared to the Pi 2's 2 cores.

The Raspberry Pi could be downloaded from at 4.06 MB/s via FTP using NTFS

The Raspberry Pi 2 could be downloaded from at 11.11 MB/s via FTP using NTFS

The Banana Pi could be downloaded from at 29.4 MB/s using USB and 38.45 MB/s using SATA

The NTFS-3G read driver is clearly more efficient allowing better performance and the benefits of SATA become clear.

SAMBA

The Raspberry Pi could be uploaded to at 7.55 MB/s via SAMBA with NTFS

The Raspberry Pi 2 could push uploads at 10.8 MB/s via SAMBA with NTFS

The Banana Pi could be uploaded to at 26.45 MB/s via USB and 26.73 MB/s via SATA with NTFS

The Raspberry Pi can be downloaded from at a maximum rate of 4.42 MB/s with NTFS

The Raspberry Pi 2 can be downloaded from at 10.5 MB/s with NTFS

The Banana Pi topped at 26.45 MB/s via USB and 26.73 MB/s using SATA for downloading from SAMBA with NTFS

exFAT Throughput Benchmarks

FTP

The Raspberry Pi could be uploaded to at 4.97 MB/s via FTP with exFAT

The Raspberry Pi 2 could push uploads at 8.06 MB/s via FTP with exFAT

The Banana Pi could be uploaded to at 6.8 MB/s via USB and 7.52 MB/s via SATA with exFAT from FTP

The Raspberry Pi can be downloaded from at a maximum rate of 4.26 MB/s with exFAT from FTP

The Raspberry Pi 2 can be downloaded from at 8.54 MB/s with exFAT from FTP

The Banana Pi topped at 21.28 MB/s via USB and 26.32 MB/s using SATA for downloading from FTP with exFAT

SAMBA

The Raspberry Pi could be uploaded to at 4.46 MB/s via SAMBA with exFAT

The Raspberry Pi 2 could push uploads at 11.11 MB/s via SAMBA with exFAT

The Banana Pi could be uploaded to at 12.04 MB/s via USB and 12.82 MB/s via SATA with exFAT from SAMBA

The Raspberry Pi can be downloaded from at a maximum rate of 4.07 MB/s with exFAT from SAMBA

The Raspberry Pi 2 can be downloaded from at 10.98 MB/s with exFAT from SAMBA

The Banana Pi topped at 20.07 MB/s via USB and 21.73 MB/s using SATA for downloading from SAMBA with exFAT

ext4 vs NTFS vs exFAT

FTP Upload

Here is a summary of the FTP upload data for each file system

ext4 is the clear winner, NTFS seems to be the better performer on multicore ARM architectures

FTP Download

Here is a summary of the FTP download data for each file system

ext4 is the clear winner, NTFS again outperforms exFAT on multicore ARM architectures

SAMBA Upload

Here is a summary of the SAMBA upload data for each file system

ext4 is superior, the exFAT write driver is more efficient than the NTFS-3G write driver when using SAMBA shares

SAMBA Download

Here is a summary of the SAMBA upload data for each file system

ext4 is again the top performer, the exFAT read driver slightly outperforms the NTFS-3G read driver when using SAMBA shares

Conclusion

These benchmarks comprehensively compared file sharing over a network using the file systems ext4, NTFS and exFAT over FTP and SAMBA shares with the Raspberry Pi, Pi 2 and Banana Pi. Unsurprisingly, ext4 the native Linux file system had the best performance over FTP, SAMBA nearly halved the data transfer rate on the Banana Pi indicating a large CPU overhead. As I have mentioned in other benchmarks, using FTP to access media files is ideal and can be done using Kodi (XBMC) based media centers. FTP will always be preferable to SAMBA for transfers so I would recommend only using SAMBA for convenience to delete and manage files rather than large transfers.

In general the write drivers for foreign file systems are slower than the read drivers. You are better off transferring via FTP for maximum speed, again SAMBA should only be used to do minor management rather than large transfers. NTFS and exFAT could be useful for users that already have their media stored on such a file system and do not have the equipment to migrate to ext4 or they want to keep it as NTFS or exFAT so it can be easily read by Windows machines.

It is important to not only think of the significance of transfer rates, some people on reddit have mentioned that streaming media does not always require that much bandwidth. However, the CPU overhead from using foreign file systems like NTFS and exFAT combined with SAMBA may be significant. Unfortunately, I did not record CPU usage for these tests so it may just be the drivers that need optimizing. If anybody has suggestions for automating the CPU usage so I can get accurate data please leave a comment or use the contact form.

I am looking forward to a Raspberry Pi model that at least includes gigabit. I am looking more forward to testing the Orange Pi Plus which should be here any day now which sports a quad core 1.6 GHz CPU with SATA and gigabit. The Banana Pi crew will be releasing an updated model later this year which I expect to have 4 cores too.

The Raspberry Pi 2, Banana Pi and Pro are available on Amazon, AliExpress and eBay . The Pro version includes 802.11n Wifi for those who are not wired for ethernet in their home.