OpenSSL benchmark - RPi2B vs NAS vs Archer C7

I am not short of options when it comes to spreading tasks over several System-on-Chip (SoC) based low-powered micro computers. 4 devices were tested; OpenWRT running on TP-Link Archer C7 v2, QNAP TS-220 and Asustor AS-304T and Raspberry Pi 2 Model B.

In deciding which to be used for hosting a HTTPS-only web server, I was interested in the cryptography (namely RSA and AES) performance thus the motivation for running benchmarks.

Benchmark method

Where multiple cores are present on the SoC device, I ran OpenSSL benchmark with -multi N option with N representing number of cores. This is a logical use-case because a web server would fork threads to handle incoming connections.

Dell Inspiron 6000

This laptop is not part of the head-to-head test. It is here to establish a rough baseline. Its processor is a single-core Intel Centrino 1.86 GHz.

RSA speed test with command line:

openssl speed rsa
RSAsign/sverify/s
5122181.326300.9
1024378.07757.5
204855.42051.8
40967.7500.5

AES speed test with command line:

openssl speed aes
AES-CBC16 bytes64 bytes256 bytes1024 bytes8192 bytes
12836745.99k40451.05k41536.35k86731.05k88764.19k
19236816.37k40588.20k41786.07k74840.26k75302.75k
25632140.04k34734.54k35487.81k65029.96k65156.64k

Processor: Qualcomm Atheros QCA9558 720MHz

RSA speed test with command line:

openssl speed rsa
RSAsign/sverify/s
512433.14575.5
102475.31466.3
204811.8446.4
40961.8123.5

AES speed test with command line:

openssl speed aes
AES-CBC16 bytes64 bytes256 bytes1024 bytes8192 bytes
12811147.53k12364.91k12802.86k12924.89k12883.03k
1929827.79k10772.53k11040.93k11121.33k11197.58k
2568705.59k9446.14k9795.57k9794.20k9747.93k

The router should not be running too many services as it needs to be responsive at all times. Nevertheless, I ran the test on it as the benchmark control.

QNAP TS-220

Processor: Marvell 1.6GHz

RSA speed test with command line:

openssl speed rsa
RSAsign/sverify/s
512111.61523.8
102423.7543.1
20484.4169.7
40960.749.1

AES speed test with command line:

openssl speed aes
AES-CBC16 bytes64 bytes256 bytes1024 bytes8192 bytes
1287067.13k7639.39k7786.98k7864.32k7837.67k
1926167.00k6576.01k6717.08k6748.58k6723.79k
2565463.89k5795.98k5881.35k5907.29k5893.89k

I was very surprised to see this NAS performing much slower than the Archer C7.

Asustor AS-304T

Processor: Intel Evansport CE5335 (2C/4T Atom (Bonnell) CPU @ 1.6 GHz)

I ran tests with -multi 2 and -multi 4 and found the latter to be much quicker thus showing the quicker times only.

RSA speed test with command line:

openssl speed rsa -multi 4
RSAsign/sverify/s
5121476.916417.5
1024263.15253.8
204841.61515.2
40966.1424.4

AES speed test with command line:

openssl speed aes -multi 4
AES-CBC16 bytes64 bytes256 bytes1024 bytes8192 bytes
12865187.56k69805.48k69907.15k71743.43k72268.65k
19256377.95k59015.79k61703.99k60134.69k61422.21k
25649654.75k53295.79k54100.92k53128.74k54299.59k

I expected this Network-Attached Storage to be the fastest unit here and it did perform quickest in the AES test but not for the RSA test.

Raspberry Pi 2 Model B

Processor: 900MHz quad-core ARM Cortex-A7

RSA speed test with command line:

openssl speed rsa -multi 4
RSAsign/sverify/s
5122077.021800.1
1024388.97002.5
204858.71905.1
40967.9484.2

AES speed test with command line:

openssl speed aes -multi 4
AES-CBC16 bytes64 bytes256 bytes1024 bytes8192 bytes
12850567.33k55524.71k57422.68k57913.00k58056.70k
19245322.36k48578.24k49574.31k49825.11k49905.66k
25640360.97k43109.01k43945.81k44154.20k44212.22k

The Pi topped the RSA benchmark test by quite a big margin against the Asustor but lost out on the AES benchmark.

The winner

It was down to the wire between Asustor AS-304T and Raspberry Pi 2 Model B. I chose the latter because Asymmetric (RSA) is more expensive to compute compared to Symmetric (AES). The Pi is the fastest one among the four in RSA.