tap-windows6 icon indicating copy to clipboard operation
tap-windows6 copied to clipboard

Unable to utilize gigabit channel

Open falcn opened this issue 7 years ago • 2 comments

Hello. I have Windows 2012 R2 hosts running OpenVPN with minimalistic config, no encryption and no compression.

Problem is, they could not exceed ~300 Mbps over OpenVPN channel. I thought OpenVPN core was the one to blame, so I switched to 5 separate peer to peer OpenVPN networks, rather than having 1 server and 5 clients in a single network. Each network is handled by it's own OpenVPN process, but cumulative speed (all 5 networks combined) is still limited by 300 Mbps.

Looks like tap0901.sys is the bottleneck.

My config for every client looks like this

ifconfig 10.x.2.2 10.x.2.1 dev tun proto tcp-server port 8148 secret static.key cipher none

tun/tap tcp/udp don't affect speed much.

falcn avatar Jul 10 '17 02:07 falcn

There are a couple of things limiting OpenVPN's performance at high speeds:

  • User-space / kernel-space context switches. Increasing the MTU can help a great deal, see this article for details.
  • The tap-windows/tap-windows6 driver performance is not that great. I can't recall the details, but this is a known issue with no easy fix.

Have you tried using a different tap interface for each OpenVPN process? Does that help at all?

mattock avatar Jul 10 '17 07:07 mattock

Yes, I'm using different tap devices, but I assume they all run on a single thread of tap0901.sys. I tried to use different drivers by using different versions for different adapters, but I think it's impossible, because binary name stays the same .inf changes, .sys stays the same.

screen shot 2017-07-10 at 10 53 59

falcn avatar Jul 10 '17 08:07 falcn