QOS upload min BW timing

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

Moderator: Moderators

Post Reply
dsalch
Posts: 123
Joined: Wed Jan 06, 2016 2:09 pm
Location: Tx

QOS upload min BW timing

Post by dsalch »

I need help either setting or understanding the use of "min BW" under QOS. Here is the situation:

application to protect is "zoom meetings" which does streaming live meeting audio/video.
Other traffic includes bitcoin mining and storjshare drive sharing, both of which have unpredictable spikes of traffic in both directions.

I have 3 classes:
Normal (all other traffic) 9%
Background (bitcoin and storj) 1%
Streaming (only zoom) 90%

Total upload is only 768kbps

The numbers work out ok to give zoom what it needs for consistent connections on average. There is a problem with sudden changes. When the bnadwidth for either background or normal class spikes, at that instant (the first 2 seconds) zoom tends to disconnect. The statistics inside zoom show a sudden rise in latency, often up to 1000ms, and then it recovers. But zoom tends to disconnect at the moment that latency exceeds 1sec for any period of time.

I have toyed with settings, and found that using minimum bandwidth for streaming class does not help. My assumption is becasue the router is not responding fast enough. When the traffic spikes, that causes latency for zoom for just long enough to cause zoom to disconnects while the router adjusts. It just isnt fast enough to respond.

The fix I have in place that works, is to set max bandwidth for normal and background classes to a very low level, about 128K each. This keeps zoom reliable. But it seems to alwasy limit those two classes even if the streaming traffic is not present. But it does prevent the spikes that knock zoom offline.

So, If I am interpreting the functions properly, the problem is that minimum BW only takes affect one second or so after the link is saturated, but in my case that is too late. Max BW prevents the spikes but is always enforced even when not necessary. So at present I must turn on and off the max BW manually when using Zoom.

Is there a way to have min bandwidth enforced whenever the class set for it is active, even if link is not saturated? This would be in effect a max bandwidth restriction on everything else, only when the desired class is active, otherwise there is no restriction.

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

Re: QOS upload min BW timing

Post by pbix »

MinBW is always enforce, there is no one second lag on the upload side. The minBW setting is not specified in %. Why not tell us what you set it to when you tried?

To use MinBW it is necessary to know what the minimum bandwidth your application needs is. What is that bandwidth?

What is your downlink situation? Are you sure the lag is not coming from that side? Your application will need both upload and download minBW set to work properly.

First run your application and determine what bps it needs in both directions. Then create specific upload/download classes for that application alone with the minBW set 20% higher than what you measured is needed.

Second write rules to direct your traffic into these classes and verify that all the traffic of this application is getting into these classes using the connections and QoS screens.

Third, make sure the ACC is enabled on the download screen. Make sure the "total download bandwidth" is set correctly.

Finally, reduce your "total uplink bandwidth" by 50%. Once everything is going well you can increase your total uplink bandwidth until it breaks. Reduce it to the last working setting. You have found the limit on the upload side.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

dsalch
Posts: 123
Joined: Wed Jan 06, 2016 2:09 pm
Location: Tx

Re: QOS upload min BW timing

Post by dsalch »

Thanks for getting back to me.

To answer your questions...

The application needs a minimum of about 500mbps to be reliable, in the upload side.

Download side has 10x the bandwidth required, so not a problem.

ACC is enabled

I have a percentage set, and also a minimum bandwidth. I realize that those are two different things. Do you have a recommendation in this case on where to set the percentage when there is also a minimum that matches the percentage requirement?

There must be a slight lag, because the documentation says that the minimum bandwidth is not enforced until saturation is reached. Then it applies minimum bandwidth first. That is what I am seeing. For instance:

Step 1: zoom is running at only 128kbps upload, but the minimum is set to 512kbps
step 2: the other two classes each run at 200kbps, making 400kbps combined.
step 3: saturation of 750k is not reached, therefore no logic is enforced (according to the docs). however, there is not 512kbps unused available at this instant for zoom, but it does not require it at the moment, so all is ok.
step 4: zoom suddenly increases to 300k. the total is now 300+200+200 = 700, below saturation. therefore min bandwidth is not enforced yet.
step 5: at this point in time, zoom is ok at 300k but there is no free bandwidth into which it can expand if the need arises. The only way it can expand is to reach saturation, enable the minimum BW and start throttling the other two classes. can this be instant?
step6: zoom suddenly jumps up to need 512K, but it isnt available at the instant.. so latency this shows in the zoom application as a 1 to 1.5 second latency in the statistics, and often causes a disconnect.
step 7: within one second of step 6 happening the router detects saturation, enabled min BW and throttles the two classes back, but the damage is done to the zoom stream. Although within 1 to 2 seconds the zoom stream reaches 512K as required, the latency to get there is unacceptable to it.

I have verified this by setting a MAX BW on the other two classes to keep them below 128kbps each. In this state, with each running at 128 for a total of 268kbps, zoom functions with no latency seen when its bandwidth demands suddenly jumps up to 512kbps. In other words, if I preserve 512kbps of bandwdith at all times for zoom, it is happy, but if i use minBW to do so, it does not work. What does work is to decrease the other two class MAX BW (which is always enforced according to the docs) so that they can run never at a level that is higher than 256 combined. When I do this, zoom never shows latency in its statistics when its own bandwidth needs quickly increase, and there are no disconnects. This has been verified positively and negatively multiple times.

This seems to conclusively say that zoom experiences latency when it suddenly jumps from low to high bandwidth if and only if the other classes are allowed to go above the level available after min BW would be enforced, even when zoom does not need the extra bandwidth. Therefore, min BW (as documentation says) does not take affect until saturation is reached, and there is just enough time delay in throttling back the other classes when a min BW is enforced, to cause issues with this application.

So... my question is.. is there any way to reserve a min BW (meaning enforced max BW on everything else) if and only if a class is active but all the time the class is active?

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

Re: QOS upload min BW timing

Post by pbix »

is there any way to reserve a min BW (meaning enforced max BW on everything else) if and only if a class is active but all the time the class is active?
This is precisely the function of MinBW. The processing delay to enforce it in the router will be measured in milliseconds.

Did you reduce the upload bandwidth parameter as I suggested? In your case I might set it to 650kbps and see what happens.

MinBW takes priority over all other settings until it is achieved. Make sure to set this one 10% over the requirement, so 575kbps in your case. Something you did not mention above. There is little meaning in these percentages in your setup. But since you must enter something I suggest 15%, 15% and 70% since 512/750 is around 70%. Then lower the upload bandwidth setting as previously suggested and test again.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

dsalch
Posts: 123
Joined: Wed Jan 06, 2016 2:09 pm
Location: Tx

Re: QOS upload min BW timing

Post by dsalch »

I will test again when I get a chance, but I did try that... I lowered the total upload bw parameter that low. As I recall, that didn't help. The only thing that helped is adding Max BW on the other classes.

An interesting side effect is, of I lower total Max BW, that limits all upload all the time to that amount, even the one class that needs most. But adding Max BW limits on the other two allows a higher total for the one class while limiting the other classes (unnecessarily).

If the delay is only ms, it seems that I could set a higher min bw for zoom, leave the total high, and not use Max BW on the other classes to achieve the same thing. The thing that gives me pause is that in my testing so far... The increase in min bw dies not have any effect on the second of latency when other classes are high and the protected class increases suddenly.

I'll do not testing and let you know. I wish I had a better test setup to see what is actually happening closer.

dsalch
Posts: 123
Joined: Wed Jan 06, 2016 2:09 pm
Location: Tx

Re: QOS upload min BW timing

Post by dsalch »

While I am waiting to test... Ponder a new feature...

A min bw that favors the bandwidth desired to be set aside over the wan utilization. Meaning, the reservation takes effect as soon as that class is active, enforcing the equivalent of combined Max BW on everything else. We would see this by all other classes reducing bw as soon as the one with min bw came active, even if it didn't need the full bw reserved... It would be reserved for that one class.

That would solve my problem, but I don't think I can simulate that any other way without side effects.

dsalch
Posts: 123
Joined: Wed Jan 06, 2016 2:09 pm
Location: Tx

Re: QOS upload min BW timing

Post by dsalch »

Quick update.. I may have been mistaken!

The Bandwidth requirements for Zoom upload are 600 for HQ video, but 1.2M for HD video. In my previous testing, the software was set for HD video, obviously not going to work on my 768k max upload speed.

Initial testing in HQ mode, with a 600kbps requirement and a "minimum BW setting " at 700kbps seem to be working as is.

I'll update if any further problems show up, but at this point it looks like this was a false alarm! My apologies for wasting valuable time!

Post Reply