Testing the NanoPi NEO and the NanoPi 2 Fire

Up and Running

CPU performance for current small computers is no longer a topic of discussion. Four high-clocked cores offer more computing power than is generally required. Therefore, I will omit the corresponding benchmarks here. Basically, it is almost impossible to access all of the available power. Even the RPi3 cannot perform extensive compiling tasks because of inadequate storage. However, it is often more important for server applications to simply have the cores ready for processing requests.

The I/O performance is far more important as a criteria for headless systems than CPU performance. Because data rarely originates in main memory, I/O performance is especially relevant to interaction between the network and hard drive, which connects to both of the NanoPis through a USB 2.0 port. Because the NanoPi NEO only has a 100Mbps Ethernet connection, the throughput is in the range of 10 to 12MBps at best. This is also the case for a Rasp Pi. Ethernet constrains the throughput on both computers. On the other hand, the NanoPi 2 Fire, with its Gigabit Ethernet, has a theoretical limit of around 35MBps over USB.

Various data intensive applications such as socat, scp, and rsync served as candidates in the test scenario. I omitted a test using iperf. As is all too often the case, the theoretical claims of transfer performance do not conform to reality. SCP and Rsync, on the other hand, require a lot from the CPUs because of the encryption that occurs during transfer and reveal whether dips in transfer performance occur, as with the Banana Pis. The tests also show whether the USB jacks provide sufficient power for a level of consumption that goes beyond the specification.

Performance

Table 2 summarizes the performance results, including numbers for a current RPi3 and Banana Pi BPI-R1 for purposes of comparison. A SATA SSD was mounted on the existing jack of the Banana Pi, whereas the other two computers used an M.2 SSD in the USB 3.0 housing for bulk storage. The Pi Zero was intentionally not included in the testing because it lacks the necessary interfaces. I could have retrofitted these had I chosen to do so. However, the computers I did select for my server scenario test play in a much different league. The Pi Zero simply can't measure up.

Table 2

Test Results*

 

 

Performance (MBps)

Test

NanoPi NEO

NanoPi 2 Fire

Raspberry Pi 3

Banana Pi BPI-R1

dd oflag=direct bs=1M

34.7

23.8

28.9

40,3

dd oflag=direct,sync bs=1M

25.4

20.4

24.0

25.1

socat

10.9

29.1

10.8

18.1

scp

9.4

18.9

9.7

9.0

rsync -az

11.4

14.0

13.3

12.1

*Also see the "Test Explanations" box.

Test Explanations

The pure write tests with dd copy zeros from /dev/zero to a file on the USB disk. The parameter direct gets around the buffer memory; sync waits for confirmation from the disk after each data block is written. The operating system buffers at numerous points in real life, so the perceived write performance constantly looks better.

The network throughput was measured first with socat, a network copying program without a protocol overhead, such as FTP. For this test, a server runs on the test device, and data is sent to a file from the other end:

### Server (Test Device)
$ socat TCP-LISTEN:2222 /<Path/to/file>
### Sender
$ time socat TCP:<target host>:2222 /<Path/to/file>

SCP on the other hand involves a direct copy command with client-side encryption and then decryption on the server. The small computers took on the role of server.

For each of the Rsync tests, the client copied to the SoCs a mail archive of approximately 1.2GB that had more than 10,000 files. Thanks to compression (parameter -z), the RPi3 transfer rate appeared to be even higher than the data rate actually achieved by the fast Ethernet interface.

Under ideal circumstances, the write performance over USB 2.0, which I measured with dd by circumventing the cache, uses all of the NEO USB interface. This is a very good result. The NanoPi 2 Fire turns out to be significantly weaker in this regard. As predicted, the SATA interface on the Banana Pi delivers the best results.

The picture looks different, depending on the particular case, when data is sent over the Internet. Generally, it would be fair to say that the network interface on both the NanoPi NEO and the RPi3 constrict the data rate. The NanoPi 2 Fire offers much better performance in this regard, but it still lags far behind a throughput rate that can genuinely be measured in gigabits. However, the rsync example also shows that it is necessary to look at the actual results for each case.

As expected, the power supply for the 2.5-inch hard disks is usually sufficient. The only thing that overwhelmed the NanoPis was an old Transcend disk. The root of this problem lies with the disk, which also won't start up on a Rasp Pi.

Power consumption for the NanoPi systems was not anything out of the ordinary. Unlike Rasp Pis, the NanoPis do use less power once they are shut down. This is a long-time and well-known Rasp Pi weakness. Even though the Pi Zero was explicitly constructed as a low-power system, you can use a few tricks to persuade a NanoPi to reduce energy consumption to the same level by switching off the GPU and CPUs and reducing the clock frequency for the system. Because this occurs in userspace, it is possible to adapt the NEO to the load dynamically. The Armbian community is working steadily on this topic and offers relevant information and instructions on their website.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Welcome

    We are living with an embarrassment of choice. Small-board computers (SBCs) are getting smaller and faster, with many inexpensive options for the hobbyist and problem-solvers and more powerful, usually pricier, options for inventors, innovators, and CPU-guzzling consumers. New SBCs are entering the market continuously, it seems.

  • Nano Text Editor Basics

    When working with the Raspberry Pi, you’ll often see the instructions, “open a file in the nano text editor.” This HowTo briefly familiarizes you with nano basics.

  • The Rasp Pi serves up a tempting web server

    The Raspberry Pi is a great web development tool for building home web servers, allowing you to experiment with Linux packages and test scripts locally before moving them to a production server.

  • Working with the Raspberry Pi camera module

    The amazing Raspberry Pi camera module opens into a whole new world of useful projects. We'll show you how to use the Pi camera for time-lapse photography, and we'll even help you set up a motion-detecting surveillance camera.

  • Android Pi

    Your Android device can be a versatile companion for Raspberry Pi. We describe some useful apps to help you make this happen.