OpenSSL benchmark - RPi2B vs NAS vs Archer C7

  • Last updated on February 21, 2016
  • Web

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.

Processor: Qualcomm Atheros QCA9558 720MHz

RSA speed test with command line: openssl speed rsa

RSA sign/s verify/s
512 433.1 4575.5
1024 75.3 1466.3
2048 11.8 446.4
4096 1.8 123.5

AES speed test with command line: openssl speed aes

AES-CBC 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
128 11147.53k 12364.91k 12802.86k 12924.89k 12883.03k
192 9827.79k 10772.53k 11040.93k 11121.33k 11197.58k
256 8705.59k 9446.14k 9795.57k 9794.20k 9747.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

RSA sign/s verify/s
512 111.6 1523.8
1024 23.7 543.1
2048 4.4 169.7
4096 0.7 49.1

AES speed test with command line: openssl speed aes

AES-CBC 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
128 7067.13k 7639.39k 7786.98k 7864.32k 7837.67k
192 6167.00k 6576.01k 6717.08k 6748.58k 6723.79k
256 5463.89k 5795.98k 5881.35k 5907.29k 5893.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

RSA sign/s verify/s
512 1476.9 16417.5
1024 263.1 5253.8
2048 41.6 1515.2
4096 6.1 424.4

AES speed test with command line: openssl speed aes -multi 4

AES-CBC 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
128 65187.56k 69805.48k 69907.15k 71743.43k 72268.65k
192 56377.95k 59015.79k 61703.99k 60134.69k 61422.21k
256 49654.75k 53295.79k 54100.92k 53128.74k 54299.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

RSA sign/s verify/s
512 2077.0 21800.1
1024 388.9 7002.5
2048 58.7 1905.1
4096 7.9 484.2

AES speed test with command line: openssl speed aes -multi 4

AES-CBC 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
128 50567.33k 55524.71k 57422.68k 57913.00k 58056.70k
192 45322.36k 48578.24k 49574.31k 49825.11k 49905.66k
256 40360.97k 43109.01k 43945.81k 44154.20k 44212.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.