Slow transfer between 2 networks

Hi everyone.

I have two dedicated servers with OVH.com, one in Canada and the other one in France. OVH have a internal network called “vrack” promising low latency between servers. Both server has XenServer 7.4 as OS.

Only the VyOS virtual machines has internet connection and both servers has a vlan and every virtual machines is connected to last one respectively.

Scenario 01
To connect the private networks I’ve attached a third virtual nic to VyOS and I’ve added a static route.

Now, everything is working, the virtual machines can reached between theirs but the network transfer is very slow up to 221 Kb/s

iperf shows up to 957 Mbits/sec over UDP and up to 94.4 Mbits/sec over TCP.
iperf -c 172.22.12.1 -w 256000 -P 5 -u -b 1000m
iperf -c 172.22.12.1 -w 256000 -P 5

Scenario 02
To connect the private networks I’ve attached a third virtual nic only a specifics virtual machines.

Now, everything is working, the virtual machines can reached between theirs but the network transfer is very slow up to 751 Kb/s

Finally
The OVH.com support team said that the problem is in the VyOS.

¿What you think?

PD. I know my english is not very good, I’m working in that XD.

Thanks in advanced

Do you have access to Xen itself, or is that provide by ovh? If you have access , did you test the speed directly on the hypervisor already? What is the nic config for the VMs? Paravirtualized or fully emulated?

Since UDP gets close to 1Gbps, while TCP performs poorly this is quite possibly a delay/buffer/window related issue. Without knowing the latency between the two end points there is not enough data to determine if a 256K window would be large enough to saturate a 1Gbps link capacity. Typically when dealing with long distance links you either need to tune the end points to account for this or a wan optimization method such as breaking the TCP connection with TCP proxies on either side to handle the window/buffering requirements.

A useful tool to quickly help you gauge the required values without having to do the math is over at speed guide.

Sending files between xen speed up to 11 Mb/s, this is ok because I’ve bought 100Mbits/sec vrack port.
Sending files between vyos1 and vyos2 speed up to 10.9 Mb/s, this is ok because I’ve bought 100Mbits/sec vrack port.
The problem is when I try to send a file to the other network using the both vyos, example: WS1121 and WS1221,

What about speed between WS1121 and local Vyos?.
Also which speed between WS1121 and DB01 ?