What's new

Performance trouble - LAN2LAN

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

hetfield

New Around Here
My first post here, so please bear with me.
I am facing a pretty weird performance issue and I don't know where to look further.

Setup: two LANs connected to fast Internet links. Description is "bottom-up", i.e. from the 'deepest' device towards the Internet connection. All connections are wired.

Site A: Windows box (Windows-A), connected to a Netgear R7000 in AP mode (Switch-A), connected to a Linux gateway (Router-A), which does the NAT and then plugs into the fiber link and onwards to the Internet.

Site B: Linux box (Linux-B, with GbE link into a router); Raspberry Pi 3B+ (RPi-B, "GbE" link to the same router - I know, the RPi only does < 300 Mbps on the cable connection); that router (Router-B) does the NAT and is connected to the fiber link. The Linux-B uses the RPi as a gateway.

Slightly more graphical (path description):
Linux-B --> RPi-B --> router --> Internet --> Router-A --> Switch-A --> Windows-A

Problem: speeds are inconsistent / illogical when testing throughput between devices on different sites. Data in the attached image:

H4q95


Or the URL, if the embedding doesn't work: https://www.imgpaste.net/image/H4q95

Line headers are the source of the test, column headers the destination (e.g. line 2, column 2 means "speed test from Linux-B to RPi-B is 237 Mbps").
All tests done with iperf3, all speeds in Mbps. All connections are wired. All MTUs are 1500 on all interfaces involved.

What I can understand:
1. Poor (<300 Mbps) speeds within site B (from Linux-B to RPi-B and reverse), which are limited by the Raspberry Pi's LAN speed.
2. Relatively poor speeds when Switch-A is tested locally (i.e. from Router-A to Switch-A or from Windows-A to Switch-A or the other way around). This appears to be limited by the CPU on Switch-A (it is a dual core and I see usage going to ~55% during the testing, which means one core fully loaded).

What I cannot understand:
The drop in speed when testing across sites and going "one level below" the entry point. For instance, RPi-B to Router-A is 113 Mbps (effectively the site-to-site link, limited by the upload speed at site B), but Linux-B to Router-A is just 42 Mbps and RPi-B to Windows-A is just 28 Mbps. What is causing this drop in speed when going one more hop, as locally the speed is fine in each site?
 
Pi3, even the B+, is good for about 30 Mbit/Sec with OVPN... I suspect it's interrupt limited on the SoC USB to USB-Ethernet interface
True, but I'm not using OpenVPN (precisely for that reason) - I switched over to Wireguard instead. I can reliably get 800 Mbps with Wireguard on a 4x1.8 GHz Linux box. It's not this.
My major concern is why the transfer rate is dropping *that* much (i.e. by 50%) simply by adding one more hop. That's what I cannot explain...
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top