Skip to content

MTU Testing

Next1971 edited this page Oct 17, 2026 · 2 revisions

MTU Testing

MTU testing helps identify paths where packet size affects reliability or throughput.

This page distinguishes measured observations from general recommendations. A result from one carrier, device, or route is not a universal property of UDP or TCP.

Current settings

Android phone, Android TV, and Windows v2.1.0 expose a configurable client tunnel MTU with a default of 1340.

The server TUN configuration is a separate setting. The documented server example uses 1369; do not assume the client and server values must always be changed together.

The v2.0.0 experiment forced client MTU 1340 and had no user-facing MTU selector. That describes the earlier experiment, not the v2.1.0 interface.

Historical observation: 11 October 2026

A phone-path sweep recorded:

Client MTU UDP observation
1280 Usable
1340 Usable
1359 Slow
1365 Unusable
1369 Unusable

TCP remained usable at every tested MTU in that sweep and was fastest at 1280.

These are observations from the tested path. They do not establish:

  • That TCP is always faster.
  • That UDP always fails above 1340.
  • That 1280 is the best value for every network.
  • That a successful connection proves large transfers will work.

See the repository's benchmark material.

Repeatable test procedure

  1. Record the client/server versions, device, network, transport, and current MTU.
  2. Start with MTU 1340.
  3. Test UDP only.
  4. Disconnect, change one setting, and reconnect.
  5. Repeat the same workload.
  6. Test TCP only using the same server, network, and workload.
  7. Repeat promising settings to check consistency.

Use multiple workloads:

  • Small interactive requests.
  • A sustained download.
  • An upload.
  • The application that originally failed.
  • Reconnect after a network change.

Avoid comparing different servers, changing ports and MTU simultaneously, or running competing transfers during the same measurement.

Suggested result template

Client/server Network Transport MTU Connect Download Upload Stalls/loss Notes

Record units and test duration. Distinguish application payload throughput from tunnel traffic counters.

How to interpret results

Smaller MTU fixes stalled transfers

This suggests packet size or encapsulation overhead may be involved, but it does not prove a single cause. Check the path, logs, and server configuration before drawing a conclusion.

TCP works and UDP does not

Check UDP firewall rules and reachability as well as MTU. An unreachable UDP listener is not an MTU measurement.

Ping is low but throughput is poor

Ping and bulk throughput measure different behavior. On QUIC, the displayed ping is smoothed QUIC RTT; do not compare it blindly with a differently implemented TCP metric.

Results change between runs

Mobile scheduling, congestion, radio conditions, VPS load, and route changes can affect the result. Repeat tests and report the range rather than only the best run.

Safety and scope

  • Keep a working configuration available.
  • Do not make unrelated firewall or routing changes during an MTU sweep.
  • Do not disable certificate verification to complete a test.
  • Treat profiles and screenshots containing credentials as secrets.
  • Do not generalize Android/Windows controls to iOS without checking that build.

For deployment and buffer settings, see the server guide. For broader diagnosis, see Troubleshooting.

Clone this wiki locally