====== Performance ======
OpenVPN is single core daemon. It is recommended to run multiple instances to get multi-core benefits.
Also OpenVPN is user-level application which requires lots of switches.
[[https://germanystudy.net/speed-up-your-openvpn-connection/]]
==== Tune packet size ====
==== Test performance ====
openvpn --genkey --secret /tmp/secret
time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-256-cbc
( 3200 / execution_time_seconds ) = Projected Maximum OpenVPN Performance in Mbps
==== Force OpenSSL engine ====
[[https://en.wikipedia.org/wiki/Crypto_API_(Linux)]]
openssl speed -evp aes-256-cbc
openssl speed -evp aes-256-cbc -engine afalg
# Deprecated
#engine cryptodev
# Modern replacement
engine afalg
Tue Mar 17 14:18:54 2020 OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Feb 20 2019
Tue Mar 17 14:18:54 2020 library versions: OpenSSL 1.1.1d 10 Sep 2019, LZO 2.10
Tue Mar 17 14:18:54 2020 Initializing OpenSSL support for engine 'afalg'