I just subscribed to new vpn service to watch netflix. They planned to have wireguard this year and during the wait, I am exploring what options that they give. One of the options is shadowsocks, which I thought will be less encrypted and much faster compared to openvpn udp/tcp. After finishing the setup I did speed test and got 12mbps, faster than openvpn (max 8mbps) but compared to android phone that use shadowsocks too (with same vpn setup), I got more than 25mbps. Is it hardware limitations or I miss something in the config?
It is hardware limitation.
A smartphone is much powerful in computation.
I don’t get that, how can a socks take more traffic than the ovpn protocol? Source? I agree with OP, there’s less to do for the CPU, the CPU can (could) use 100% work on this task… how could that be more intense than decoding and receiving? Thats an honest question ehm, socks5/shadowsocks is going to be encrypted serverside, so the client also (oVPN) really has less to do takes more resources? How does that fit togehter?
If it is encrypted in the server side, of course it needs to encrypted in the client side as well.
The issue is not the protocol itself, it’s that the portable routers don’t have AES instructions on the processor, so any kind of encryption with AES is done in software and grinds to a halt.
Wireguard has amazing performance because it uses ChaCha20 which is lightning fast without hardware decoding.
More updated TLS (HTTPS) configurations can set SSL_OP_PRIORITIZE_CHACHA so that ChaCha20 is preferred when a mobile client is connecting, for the same reason. You can read more here: