Heiko Zimmermann
SAP-Berater, System Engineer und Entwickler.

Weblog

Letztens habe ich mir auf eBay einen günstigen Pine64+ ersteigert. Bisher setzte ich Zuhause einen Banana Pi M3 für mein OpenVPN ein. Ich hatte mich damals für den Banana Pi M3 entschieden, weil dieser einen Gigabit-LAN-Anschluss hat und der Raspberry Pi 3 damals nicht.

Allerdings haben mich beim BPI-M3 der VPN-Datendurchsatz und die starke Wärmeantwicklung enttäuscht. In einem Gehäuse, ohne aktiven Lüfter, wären da permanent rund 74°C CPU-Temperatur. Also musste ich einen aktiven Lüfter einbauen.

Ich habe die AES256-CBC Geschwindigkeit der beiden Geräte mit openssl speed -evp AES256 verglichen, was natürlich nicht 100% dem OpenVPN entspricht. Die eingesetzte Version ist OpenSSL 1.1.0h auf beiden Geräten, der Pine64+ mit Armbian und der Banana Pi M3 mit Raspbian.

Hier die gemessenen Werte:

Banana Pi M3 (armv7l)

$ openssl speed -evp AES256
Doing aes-256-cbc for 3s on 16 size blocks: 2407574 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 64 size blocks: 1398737 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 256 size blocks: 375596 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 95665 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 12024 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 16384 size blocks: 6015 aes-256-cbc's in 3.00s
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
options:bn(64,32) rc4(char) des(long) aes(partial) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/arm-linux-gnueabihf/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-256-cbc      12840.39k    29839.72k    32050.86k    32653.65k    32833.54k    32849.92k

 

Pine 64+ (aarch64)

$ openssl speed -evp AES256
Doing aes-256-cbc for 3s on 16 size blocks: 10081660 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 64 size blocks: 7060120 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 256 size blocks: 3176452 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 1017061 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 138364 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 16384 size blocks: 69601 aes-256-cbc's in 3.00s
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/aarch64-linux-gnu/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-256-cbc      53768.85k   150615.89k   271057.24k   347156.82k   377825.96k   380114.26k

 

Fazit: für mein Einsatzgebiet, als kleiner OpenVPN-Server und schneller DNS-Server, ist der Pine64+ (aarch64) spürbar besser geeignet als der BPI-M3 (armv7l). Dafür ist der BPI-M3 mit Bluetooth, WLAN, 8 Kernen und eMMC besser ausgestattet, und eignet sich z.B. als Mini-Desktop Rechner am TV.

Der Neupreis beider Geräte ist nicht ganz vergleichbar. Der Pine64+ liegt bei rund 69 Euro und der mit WLAN, Bluetooth und 8 GB eMMC und sogar SATA-Port ausgestattete BPI-M3 bei rund 79 Euro.