The default configuration of OpenVPN server is not optimized for mobile networks. In my house, for example, I get only 2~3 Mbps download over H+. After adding the following lines to the server.conf file, speed bumped up to 8 Mbps:
push "sndbuf 393216"
push "rcvbuf 393216"
In downtown where LTE is available at full bars, I get whopping
22.68 mbps dn / 2.61 up:
As always, YMMV, but now you know where you should look into if you are not satisfied with your current VPN speed. Once again, this is why you should use VPS for VPN, because you have full control of it. When you buy VPN services, you cannot do such tweaks.
[update] 15000 is too large for txqueuelen and causes interruption to ICS-OpenVPN (OpenVPN for Android); 2000 is enough for a LTE connection. Also for ICS-OpenVPN, rcvbuf and sndbuf values must be given to it as custom options, because the default values used by it, 65535, are too small to perform faster than 10 Mbps over a LTE connection. OpenVPN Connect does not have such issues.