sfx2000
Part of the Furniture
Been tinkering around a bit more with OpenVPN, and seeing how to estimate performance across the link... found this one over on the pfSense forums, and it seems to scale pretty well...
In the past, folks were testing OpenSSL speeds, but that's only one part of OpenVPN, and doesn't take into account the OpenVPN application, or the HMAC...
So for comparing OpenVPN performance, I have started using this benchmark instead:
This generates a temporary key (it won't mess with your primary key configs), and then asks OpenVPN to run a shedload of packets thru the OpenVPN app - see the note below...
Then to give the execution time in seconds a real-world meaning:
( 3200 / execution_time_seconds ) = Projected Maximum OpenVPN Performance in Mbps
The projected speed should be an upper limit under optimum conditions...
The magic number of 3200 comes from summing 1 to 20000, multiply by 2 for encrypt and decrypt and by 8 bits/byte and divide by 1,000,000 for a result of Mbps
so for an intel J1800 (Baytrail-D @ 2.41GHz) on Ubuntu 16.04LTS
This gives us;
3200/18.405 = 173.87 Mbps max thruput over OpenVPN
Compare notes across other platforms?
In the past, folks were testing OpenSSL speeds, but that's only one part of OpenVPN, and doesn't take into account the OpenVPN application, or the HMAC...
So for comparing OpenVPN performance, I have started using this benchmark instead:
Code:
openvpn --genkey --secret /tmp/secret
time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-256-cbc
This generates a temporary key (it won't mess with your primary key configs), and then asks OpenVPN to run a shedload of packets thru the OpenVPN app - see the note below...
Then to give the execution time in seconds a real-world meaning:
( 3200 / execution_time_seconds ) = Projected Maximum OpenVPN Performance in Mbps
The projected speed should be an upper limit under optimum conditions...
The magic number of 3200 comes from summing 1 to 20000, multiply by 2 for encrypt and decrypt and by 8 bits/byte and divide by 1,000,000 for a result of Mbps
so for an intel J1800 (Baytrail-D @ 2.41GHz) on Ubuntu 16.04LTS
Code:
sfx@blaster:~$ openvpn --genkey --secret /tmp/secret
sfx@blaster:~$ time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-256-cbc
real 0m18.405s
user 0m18.420s
sys 0m0.012s
This gives us;
3200/18.405 = 173.87 Mbps max thruput over OpenVPN
Compare notes across other platforms?