nitred/nr-wg-mtu-finder

Post your MTU heatmaps here!

nitred opened this issue · 9 comments

I am personally very curious how the MTUs behave across different setups. So if possible please share your heatmaps and a generic description (without any sensitive info) of your WG Peer and WG Server setups.

Do not post any info you are not comfortable sharing. Just leave those details blank. Feel free to add additional info if it helps making sense of your heatmap. I'll start off.

SO Post describing how to attach files to Github issues

WG Server

  • Machine: Digitalocean $5 droplet
  • Location: Frankfurt
  • Ubuntu 20.04
  • Max bandwidth: Unknown

WG Peer

  • Machine: Local machine
  • Location: Germany
  • Ubuntu 20.04
  • Max bandwidth: 1000Mbps

Heatmap

  • Heatmap.png
  • I have no explanation for why the values are what they are
zandr commented

WG Server

  • Machine: Mac Mini (i7-2635QM)
  • Location: California
  • Ubuntu 20.04
  • Max bandwidth: 1000Mbps (symmetrical)
    WG Peer
  • Machine: Parallels VM on M1 Max MacBook Pro
  • Location: Penang, Malaysia
  • Max bandwidth: Unknown, but local speedtests look like 100Mbps up/50 Mbps with some burst allowance
  • Uplink is PPPoE, Mikrotik Hex at the edge reports 1480 MTU for the interface
    Heatmap
  • wg_mtu_finder_peer_20220612T170012
  • The 5 second iperf session time is only 25x RTT, so I this data seems pretty noisy. I'm going to repeat this test with a longer iperf session.
  • The peer machine is also connected via WiFi, I'll use a wired link for the retest.
zandr commented

As above, except the peer was connected over gigabit Ethernet, and the iperf test duration was increased to 15s.
wg_mtu_finder_peer_20220612T221737

Kitof commented

image

Thanks for you tool. I needed to adapt it in order to bind to a specific interface (vpn tunneling).

Data seems hard to analyze...

Data seems hard to analyze...

That's a lot of columns and rows to work with, you could reduce the the MTU ranges for the peer, seems like anything above 1435 is not gonna work so could have that as the max, or you could modify the figsize to something bigger like 24, 24 instead of 12, 12 so the labels are more visible:

f, axes = plt.subplots(nrows=2, ncols=2, figsize=(12, 12))

Kitof commented

Something like that ?

image

Test with peer connected to cellular
wg_mtu_finder_peer_20230701T022020
Test with peer connected to wifi via ethernet
wg_mtu_finder_peer_20230630T232322

WG Server

Machine: Racknerd Black Friday
Location: Atlanta
Ubuntu 20.04
Max bandwidth: 1000Mbps

WG Peer

Machine: Vultr $24
Location: Atlanta
Ubuntu 22.04
Max bandwidth: 1000Mbps

Heatmap:
wg_mtu_finder_peer_20231202T172406

WG Server

  • Contabo's Reseller
  • Ryzen 7900 VPS, 32gb ram
  • 1Gbit port (Shared)

WG Peer

  • OneAsiaHost (SGKVM-2048)
  • Intel Xeon E5-2680 v2 (1 vcore)
  • 10Gbit port (Shared)

This test burns a lot of bandwidth and what I mean by a lot is more than 400gb if you do by step 10.

wg_mtu_finder_peer_20231231T152332

ep69 commented

WG server: Czech Republic, virtual private server, Alpine Linux v3.19
WG client: Czech Republic, apartment with 150 Mbps connection, Alpine Linux v3.19

wg_mtu_finder_peer_20231228T182048