Poor performance with iperf3 and OpenVPN under Windows 10

Get help and discuss anything related to tweaking your internet connection, as well as the different tools and registry patches on the site. TCP Optimizer settings and Analyzer results should be posted here.
Post Reply
gabemorgath
New Member
Posts: 3
Joined: Mon Apr 23, 2018 11:41 am

Poor performance with iperf3 and OpenVPN under Windows 10

Post by gabemorgath »

Hi to everyone.

As the title says, i'm doing some tests with OpenVPN and a VPS (Ubuntu Linux version 16 LTS) with 1gigabit port (both directions). My ISP connection has around 160Mbit in down and 20Mbit in up.

If i launch a speedtest while the VPN is active from my client (Windows 10 1803 build 17133.1) i have very poor performance: at the beginning of my tests i was reaching a super slow speed: about 20mbit in down. After some research and tweaking with openvpn configurations i managed to reach about 40 mbit in down which is still not enough. There is absolutely something wrong so i continued with experiments: i decided to give a try to the connection between me and the vps without going through the vpn. In this scenario the result with iperf3 is super clear: the connection between me and the vps is capped at around 50mbit. After some other tests and research, i got a doubt and i decided to try everything under a linux distro. So i ran an ubuntu live session on the same pc client i was using before and, big surprise, everything work as expected: i can reach max speed (around 160Mbit) in both iperf3 and openvpn. So, finally, i realized that the problem is something under Windows 10 indeed. I already tried with different settings of Autotuning level under the tcp/ip settings with no luck: the max speed i can reach is always 50mbit. The strange thing is that if i try to download something else from the vps (with chrome for example with http) i can get full speed instead: the only problems seems to be with openvpn and iperf and seem to be connected. Any clue about this? Thank you!
User avatar
Philip
SG VIP
Posts: 11758
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Try to set your MTU down to ~1200 bytes and see if that helps?

I think the correct way is to first set in in Windows (you can use the TCP Optimizer), then also add the following to the vpn.conf on both ends (increases send/receive buffers as well):

Code: Select all

fragment 1200
mssfix 1200


sndbuf 2000000
rcvbuf 2000000
txqueuelen 4000

You should also try UDP vs. TCP...
Someone reported this MS security update also caused issues with openvpn --> KB 4074588 (It has something to do with driver signing for USB and TAP adapters). Uninstalling/reinstalling the TAP adapter may help with this also, not sure.

Also, you may want to try an older TAP adapter driver, there is some issue with the latest driver I believe.
gabemorgath
New Member
Posts: 3
Joined: Mon Apr 23, 2018 11:41 am

Post by gabemorgath »

Thank you for reply. I will try with those settings and report it back. And what about the iperf3 test? It's also limited to 50mbit.

UPDATE:

I've tried your config but i get even worst performance.

The option

txqueuelen 4000

makes the openvpn client crash on start. I already tried tcp and udp but still nothing.
User avatar
Philip
SG VIP
Posts: 11758
Joined: Sat May 08, 1999 5:00 am
Location: Jacksonville, Florida

Post by Philip »

Not sure about the Iperf3 limitation, could also be driver related/Windows build related (you may have to pass more parameters to it specifying larger TCP Window, etc.).

Have you tried the TCP Optimizer?
gabemorgath
New Member
Posts: 3
Joined: Mon Apr 23, 2018 11:41 am

Post by gabemorgath »

Yeah, already tried tcpoptimizer but without luck: always same results.
Post Reply