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.
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.
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
RSA | sign/s | verify/s |
---|---|---|
512 | 2181.3 | 26300.9 |
1024 | 378.0 | 7757.5 |
2048 | 55.4 | 2051.8 |
4096 | 7.7 | 500.5 |
AES speed test with command line:
openssl speed aes
AES-CBC | 16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes |
---|---|---|---|---|---|
128 | 36745.99k | 40451.05k | 41536.35k | 86731.05k | 88764.19k |
192 | 36816.37k | 40588.20k | 41786.07k | 74840.26k | 75302.75k |
256 | 32140.04k | 34734.54k | 35487.81k | 65029.96k | 65156.64k |
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.
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.
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.
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.
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.