Greetings! I shared this recently in another posting but will post it again.
You can search the web and find many complaining about OpenVPN performance. I have seen this for myself. I have done a lot of testing and found that distance and level of encryption will impact performance. OpenVPN is single processor threaded so it cannot take advantage of multi-core processors. I have a quad core pfSense box and get the same download speed as my AC88U when using VPN. Since my primary purpose is streaming media, I don’t use any encryption in order to get the best streaming performance. I am primarily trying to circumvent geo-blocking.
When it comes to VPN performance, distance is not your friend. If I connect to the TorGuard server in Bangkok without encryption, I get near native line speed. The further away the server, the download speed starts to drop. I have also noticed that VPN performance can vary at different days of the week or times of the day. For the most part, I get very good to excellent streaming most of the time. The few times I have had issues, I find a power cycle of the modem and router usually will do the trick. The RT-AC88U has been working great for my OpenVPN requirements.
I currently have fiber with 100Mbps down/10Mbps up when not using VPN. I often get 120Mbps down/15Mbps up when I have tested. ISP provides a Fiberhome GPON modem/router. The router CPU and firmware are very limited. And that is saying it nicely! What you want to do is place the ISP modem/router in bridge mode. Basically, you are turning it into a modem. Take screen prints of the settings, etc before you start changing things. Turn off DHCP, the radio and other services not required. Note the PPOE userid and password as you will need this when configuring your router. Your provider should have given you a piece of paper with the userid and password.
Use yorgi’s awesome VPN client set up guide over in the VPN forum combined with instructions from your provider. I also included the following in the Additional Config section to further tune my settings.
persist-key
persist-tun
sndbuf 524288
rcvbuf 524288
push "sndbuf 524288"
push "rcvbuf 524288"
tun-mtu 1500
mssfix 1450
nobind
mtu-disc yes
pull
fast-io
auth-nocache
I have two AC88U connected to the Fiberhome modem. Router A is set “All” for Redirect Internet Traffic and router B is set to “Policy Rules”. I primarily use Router A as I want all of my devices to connect to USA. Another family member lives next door. I set up Router B for their use. All of their devices use the native WAN. But their Roku player goes through their VPN connection. Both routers use the same 3BB userid and password. This allows me to change VPN servers if I need to without impacting them.
Right now, I am watching the Fiesta Bowl live with no buffering or blurry screen. It is as sharp and clear as if I was watching on satellite or cable TV back in USA. I take it as a victory. Even though my download speeds are nowhere near native line speed, I’ve learned to accept that as good enough as getting around geo blocking and being able to streaming media was my main reason for OpenVPN.
I check in on the OpenVPN roadmap and threads periodically to see when multi-core processing will be enabled. It will require a complete rewrite of OpenVPN. It is being talked about at least.
You may like to read the following:
https://community.openvpn.net/openvpn/wiki/RoadMap
https://community.openvpn.net/openvpn/wiki/PerformanceTesting