Explore a way to use more than one CPU
We believe this might be the most important single optimization that we can do for openvpn performance in the platform side. As far as I know, there are no open-source solutions for a server-side coordinator that is able to scale to all available cores.
One possible, easy (and perhaps too simplistic) way that we see would be to dynamically generate configuration files for the process supervisor inside a single container, with a predefined tcp+udp port sequence (and inform vpnweb + menshen of this, so that each ip:port is treated like a separate location for load balancing purposes).
This is currently done with chaperone, but @micah is considering a switch to s6:
see: https://github.com/just-containers/s6-overlay#the-docker-way
Edited by Kali Kaneko