Weighted loadbalancing not working

We have configured weighted loadbalancing on peplink br2 pro with wan 1 as 4, cellular 1 as 10 and cellular 2 as 9, why do we see more traffic on wan 1

How many active sessions typically? What kind of traffic?

Weighted Load balancing uses session based distribution of traffic.
If you have 1000’s of sessions that are all starting and stopping often then the algo will do a great job of distribution.

If you only have fewer sessions - or in your case specifically, less than 23 sessions then you’re not going to get the desired distribution, moreover if the first 4 sessions are your heaviest consumers of traffic then that traffic will be consumed on WAN1.

So with your weighted distribution looking like this:

WAN 1 → 4 slots
Cellular 1 → 10 slots
Cellular 2 → 9 slots

Total → 23 slots

New sessions will use the WANs like this:
W1 W1 W1 W1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C1 C2 C2 C2 C2 C2 C2 C2 C2 C2

Because it cycles through the order for new sessions in sequence.

eg With only 4 sessions:

If you start from the beginning of the list, session 1 goes to WAN 1,
session 2 to WAN 1, session 3 to WAN 1, session 4 to WAN 1.
(Very skewed balancing because you didn’t even get far enough in the slot list to hit C1 or C2.)

Its veeam backup traffic from servers to wasabi

how many servers? Is Veam backup configured to use multiple upload streams?

By default it will use 5 streams I think upload - unless multiple upload streams is disabled?
So a single server backup would send 80% of its traffic via WAN 1 and 20% via Cellular1. If it was in progress and a 2nd server started streaming then it would use cellular 1 only…

2 servers in a night’s schedule

Do you have https persistence enabled in outbound policy? If so turn that off as it will be tying sessions to the first WAN they use.

Yes we have https persistence but that is configured as the last rule in the outbound policy. The weighted loadbalancing is above this rule would it impact

If its lower in the policy order it should be fine.
Do the servers start their backup at the same time or is it continuous?

Its staggered one starts at 7pm and another at 10 pm

If Veeam uses 5 upload sessions, then at 7PM the first 4 will go via WAN1, and the 5th will go via Cell1. If it finishes before 10pm, then server 2 will do the same. If server 1 doesn’t finished before 10pm then the 5 sessions of server 2 will just use cell 2.

Or it would if there were just the Veeam sessions. in actual fact there are also DNS lookups and stuff that will count as sessions that will be load balanced first but you get the idea.