zehome / MLVPN

Multi-link VPN (ADSL/SDSL/xDSL/Network aggregation / bonding)
http://www.mlvpn.fr/
BSD 2-Clause "Simplified" License
518 stars 127 forks source link

Performance issues at 300 MBit/s #101

Open Manawyrm opened 7 years ago

Manawyrm commented 7 years ago

Hi,

I have two lines: docsis -> 200 / 25 Mbit/s vdsl -> 100 / 40 Mbit/s

The aggregation site has a Gigabit NIC and can reach full speeds to (and from) both lines.

My server configuration looks like this:

[general]
statuscommand = "/etc/mlvpn/mlvpn0_updown.sh"
tuntap = "tun"
mode = "server"
interface_name = "mlvpn0"
timeout = 30
password = ""
reorder_buffer_size = 128
loss_tolerence = 50
cleartext_data = 1

[filters]

[docsis]
bindhost = "0.0.0.0"
bindport = 5080
bandwidth_upload = 26214400

[vdsl]
bindhost = "0.0.0.0"
bindport = 5081
bandwidth_upload = 13107200

and the client configuration is this:

[general]
statuscommand = "/etc/mlvpn/mlvpn0_updown.sh"
tuntap = "tun"
mode = "client"
interface_name = "mlvpn0"
timeout = 30
password = ""
reorder_buffer_size = 128
loss_tolerence = 50
cleartext_data = 1

[filters]

[vdsl]
bindhost = "10.4.0.28"
remotehost = "138.201.47.80"
remoteport = 5081
bandwidth_upload = 5242880

[docsis]
bindhost = "10.4.0.6"
remotehost = "138.201.47.80"
remoteport = 5080
bandwidth_upload = 3276800

Now, the problem is, that when downloading: VDSL 100 gets 100 MBit/s traffic, DOCSIS 200 gets only 100 MBit/s traffic, too. In total 200 Mbit/s only, not 300. Same story with the upload speed, ~40 MBit/s total max.
I can't surpass the maximum speed of a single link.

I have tried to change many of the parameters. Setting bandwidth_upload on the server and on the client side has had no effect (that I could observe). Maybe setting some more extreme values here could lead to a change?

I also manipulated the reorder_buffer_size parameter, I tried using 0, 64, 128 and 256.

Both sides have powerful CPUs and are not limiting in either CPU time or interrupts. What could I try to get this to work properly?

Thanks, Tobias

markfoodyburton commented 7 years ago

I effectively have the same situation over a pair of adsl lines (seeing significantly less bandwidth than I expect). I'm currently wondering if this has anything to do with DUP'd ACK's (see https://github.com/zehome/MLVPN/issues/100). But - any other ideas welcome Cheers Mark.

Manawyrm commented 7 years ago

Hello Mark,

interestingly, there is talk about using different network cards in the other issue. My setup only uses 1 GbE Ethernet card and multiple VLANs to get to the uplinks. That could probably be an issue. Also maybe offloading or a similar "smart" feature of the NIC could be an issue. I will try to make 2 seperate (untagged) connections to each VLAN after work today.

So long, Tobias

markfoodyburton commented 7 years ago

Yeah - the more we can rule out, the better :-)

Exaltia commented 7 years ago

Wich mlvpn version do you use?

markfoodyburton commented 7 years ago

Master + a couple of minor mods of my own

Exaltia commented 7 years ago

I should have tagged a name in my question, it was for @Manawyrm initially :)

Manawyrm commented 7 years ago

I'm using mlvpn version 2.1.2.

And yes, I seem to have dup ACKs, Out-of-Order, Segment not captured and all of that, too. https://screenshot.tbspace.de/hmzaevqjiwk.png