Manual Ping Limit QoS not working as expected

Report issues relating to bandwith monitoring, bandwidth quotas or QoS in this forum.

Moderator: Moderators

Post Reply
ALK
Posts: 5
Joined: Mon May 06, 2019 10:10 am

Manual Ping Limit QoS not working as expected

Post by ALK »

My internet connection has recently changed from 3Mbps ADSL to 75Mbps fixed wireless NBN with more variable ping times. Therefore I am testing different settings with the ACC to try and get the most from the connection.

With Active Congestion Control turned on and Manual Ping Limit deactivated, I get the following results:
Congestion Control Status
State: IDLE
Link limit: 26706 (kbps)
Fair Link limit: 26706(kbps)
Link load: 16 (kbps)
Ping: off
Filtered/Max recent RTT: 32/311(ms)
RTT time limit: 40 (ms) [36/40]
Classes Active: 1
______________________________________________________

With a Manual Ping Limit of 60, the RTT time limit [36/40] changes to [97/178], so the minRTT increases by Manual Ping Limit and not sure what happens with the active mode:
Congestion Control Status
State: ACTIVE
Link limit: 71956(kbps)
Fair Link limit: 71956(kbps)
Link load: 44699 (kbps)
Ping: 31
Filtered/Max recent RTT: 50/392(ms)
RTT time limit: 178 (ms) [97/178]
Classes Active: 3
______________________________________________________

And to confirm, when MINRTT activates, the minRTT includes the Manual Ping Limit:
Congestion Control Status
State: MINRTT
Link limit: 58020(kbps)
Fair Link limit: 58020(kbps)
Link load: 40787(kbps)
Ping: 37
Filtered/Max recent RTT: 70/634(ms)
RTT time limit: 97(ms) [97/178]
Classes Active: 4
______________________________________________________

According to the hidden help text, minRTT should not change like it does on my router, only the activeRTT should change equal to (auto minRTT + Manual Ping Limit):
Manual Ping Limit- Round trip ping times are compared against the ping limits. ACC controls the link limit to maintain ping times under the appropriate limit. By default Gargoyle attempts to automatically select appropriate target ping limits for you based on the link speeds you entered and the performance of your link it measures during initialization. You cannot change the target ping time for the minRTT mode but by entering a manual time you can control the target ping time of the active mode. The time you enter becomes the increase in the target ping time between minRTT and active mode. You can see the limits ACC is using in the [] brackets next to ping time limits field.
I am wondering if this is a bug or if I have misunderstood something?

I am using 1.12.0 on a Linksys WRT1900ACS.
Linksys WRT1900ACS
TP-Link TL-WDR4300

Lantis
Moderator
Posts: 6735
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: Manual Ping Limit QoS not working as expected

Post by Lantis »

The help text does not quite match the behaviour.
Is this intentional? No idea. Would need @pbix to comment.

The coded behaviour (with your ~33ms link as an example) is...
When a ping target is entered:
1. Measure your ping, and add 10% (33+3 = 36ms)
2. Take your ping target and add your adjusted ping to it (60+36 = 96ms). This is your MinRTT limit.
3. Take your ping target, add 35%, then add your MinRTT (60+21+96 = 177ms). This is your Active limit.

The example where you don't enter a ping target (i.e. auto) is the same, but the ping target is calculated for you by:
10000/download + 15000/upload + 2.

Keep in mind that because your ping is pretty variable, these calculations will change minute by minute. Every time you hit save you might get slightly different numbers. They'll all be within a ballpark though.

So to put it succinctly, ping target affects both MinRTT and Active limits, with some extra fudge factors thrown in.
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

pbix
Developer
Posts: 1373
Joined: Fri Aug 21, 2009 5:09 pm

Re: Manual Ping Limit QoS not working as expected

Post by pbix »

The real-time limit is measured on your link when qosmon initializes. If forces the link to be idle during this measurement. The results will be different every time it is measured because that's life. If your pings are inherently unstable then it could be more different every time its measured. The pings are measured over a 15 second interval to be more immune to unstable ping times. Your user entered value does not change this number. It the lowest practical RTT for your link.

In manual mode the second number is the first number plus 135% of your user entered number.

I recommend that users leave this setting in auto unless there is an issue.

Is there an issue?
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

Lantis
Moderator
Posts: 6735
Joined: Mon Jan 05, 2015 5:33 am
Location: Australia

Re: Manual Ping Limit QoS not working as expected

Post by Lantis »

In the code that I was reading, the manually entered ping target gets added to the measured value.
Something like
pinglimit += fil_triptime * 1.1
Where pinglimit is already set from the command line.

Is that what you expect to happen?


Anecdotally, for my own connection I have my ping target set to 20. If I don't, I can't utilise the full throughput of my connection because the ping times float too far out.
20 gives me a good ping limit and full throughput (under nominal network conditions )
http://lantisproject.com/downloads/gargoyle_ispyisail.php for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.

ALK
Posts: 5
Joined: Mon May 06, 2019 10:10 am

Re: Manual Ping Limit QoS not working as expected

Post by ALK »

Thanks for your replies guys 👍

I've used the auto RTT for years on my adsl and works great in my opinion (the way it forces the link to idle for 15s for ping measurements). I also understand how the ping may be different each time you press save due to a range of factors.

Ideally I believe the manual ping limit setting should work as described in the UI; that when a manual ping limit is used, the minRTT remains the auto calculated value and only the activeRTT changes to (auto minRTT)+(manual ping limit). As currently minRTT can be changed by the user.

In my OP example, with a manual ping limit of 60, I would like the RTT limit to be [36/97] instead of what happens now [97/178]. I use the MINRTT for gaming so that should always be the auto minRTT value and the ACTIVE mode for general web/downloads so want to set the ping higher than what the auto mode calculates currently.

However I could see a case where the user may need to modify the minRTT (due to a unreliable connection) so maybe there could be manual 2 settings, one so a user could directly set the minRTT and another to directly set the increase for activeRTT from minRTT.
Linksys WRT1900ACS
TP-Link TL-WDR4300

ALK
Posts: 5
Joined: Mon May 06, 2019 10:10 am

Re: Manual Ping Limit QoS not working as expected

Post by ALK »

I changed in qosmon.c the

pinglimit += fil_triptime * 1.1

line to

pinglimit = fil_triptime * 1.1

and now so far works as described in the "Manual Ping Limit" help text :D. So now I can increase the active limit and keep the MinRTT limit as the low auto calculated value. Ideally, I want ping limits of [36/60ish]. Before auto would calculate [36/40] where the active state would preform like the MinRTT state and not allow download speed to be maximised.

Thanks again for your help guys
Linksys WRT1900ACS
TP-Link TL-WDR4300

Post Reply