Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to utilize gigabit channel #43

Open
falcn opened this issue Jul 10, 2017 · 2 comments
Open

Unable to utilize gigabit channel #43

falcn opened this issue Jul 10, 2017 · 2 comments

Comments

@falcn
Copy link

@falcn falcn commented Jul 10, 2017

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.

@mattock
Copy link
Member

@mattock mattock commented Jul 10, 2017

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?

@falcn
Copy link
Author

@falcn falcn commented Jul 10, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants