For OpenVPN It comes down to the hardware, CPU speed and AES-NI support.
And as pointed out already the bandwidth required to support your 20 streams.
To find a ballpark figure what your hardware is capable of, you could do
openvpn --genkey --secret /tmp/secret
time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-256-cbc
Replace the --cipher value with your configured/negotiated one.
3200 / execution time = ballpark figure in Mbps
For execution time take the real (highest) number.