← All notes

March 28, 2026

Weight WAN load balancing to match link capacity

Weight WAN load balancing to match link capacity

I rarely start dual-WAN tuning with “set both weights to 1.”

I start with:

  • What’s the purpose?
  • What did we buy on each link?
  • Who feels pain at peak — and on which pipe?
  • What should “fair” mean if it means capacity, not session count?

Equal weights look fair in the UI. On unequal links they are not fair in practice. pfSense-style load balancing splits connections, not megabits. So a ~250 Mbps link and a ~100 Mbps link at weight 1 / 1 still send about half of new sessions down the thinner pipe.

Context

The easy path

Turn on load balancing, leave weights equal, trust the green status.

Example I use

  • Primary ~250 Mbps
  • Secondary ~100 Mbps
  • Equal weights → about 50% / 50% of new sessions
  • Capacity share → about 71% / 29% of the bandwidth you paid for

What I watch for

At peak, the slower link is full while the faster link still has room — and the firewall still says load balancing is on.

How I look at the system

new sessions split by weight
        →  1:1 sends ~half to the thin link
        →  thin link fills first
        →  users feel it; the checkbox still looks fine

The purpose is usable capacity at peak, not a pretty 50/50 graph.

What I proposed

Weight the gateways to rated capacity. Keep both in tier 1. Confirm with real daytime traffic.

250 : 100  ≈  5 : 2

gateway A weight = 5   (~71% of new sessions)
gateway B weight = 2   (~29% of new sessions)
tier               = 1 / 1   (active-active)
sticky             = off     (when you want sessions to rebalance)

What has to agree

  • Weights 5 and 2 — session share follows capacity share.
  • Same tier — both links work in active-active, not only as backup.
  • LAN rule uses the gateway group — otherwise the weights do nothing.
  • A soak under daytime load — policy is a guess until the graph matches.

Why not failover only?

You paid for two links. Failover leaves the second idle until an outage. Capacity-aware balancing is how both earn their keep — if the graph proves it.

Limits I stay honest about

Connection-based load balancing has a ceiling. I do not oversell it.

  • It will not split one large download across both WANs.
  • With sticky sessions off, some apps may ask users to sign in again after a path change — acceptable when the goal is rebalance, but expect it.
  • Chasing a “perfect” ratio past 5:2 is usually waste — match the purchase, then stop.
  • Saving weights without watching graphs is not verification.

The bar: weights match capacity, health stays clean, graph lands near the ratio.

What “done” means

Not “weights saved.”

Under real daytime load:

  • Graphs near ~71% / ~29%, not 50/50
  • Slower link not pegged while the primary still has headroom
  • Gateway health: stable RTT, no sustained packet loss

If the graph matches the pipes you bought, load balancing did its job — usable capacity, not cosmetic fairness.

© 2026 Melquizedek Felix. All rights reserved.