Found a way to break QOS?

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

Moderator: Moderators

Daeron
Posts: 28
Joined: Mon Oct 31, 2016 5:30 am

Re: Found a way to break QOS?

Post by Daeron »

pbix wrote:You should upgrade and change this line as well and report your results.

I can't, that's why I asked if 1.10 had a similar setting. 1.11 runs heavy and unstable on my aging device, especially with some additional services enabled (like adblocking), which I consider to be essential.

dsalch wrote:The chart on the bandwidth usage screen matches what the actual throughput is, but the class BW readings and settings on the QOS screen do not seem to match.

If you simply mean the load values are not always accurate on the QoS page, that's not very uncommon in my experience. Sometimes it shows 2x the actual load for a few seconds, which I presume is simply a glitch of the page updating slowly in general, or perhaps the CPU being hammered and sending updates more intermittently to low priority services like the GUI. But over let's say a 10 seconds period it should be in the ballpark of what the actual load is. Rule of thumb is to measure in two different places with two different devices.

I have messed around with minBW, but haven't seen any anomalies. I would still suggest removing all the other classes for the duration of testing so you can home in on the issue and present it to us in a way which we can easily reproduce.

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

Re: Found a way to break QOS?

Post by pbix »

Daeron wrote:I can't, that's why I asked if 1.10 had a similar setting. 1.11 runs heavy and unstable on my aging device, especially with some additional services enabled (like adblocking), which I consider to be essential.


Hmm. Sounds like you need a new device. You can find the overhead variable in your init.d/qos_gargoyle file as well. I think it is set in two or three places. Just change all these to:

Code: Select all

overhead="stab linklayer atm overhead 32 mtu 2048 "


This will make sure that these settings are always forced since you know you have DSL.
Linksys WRT1900ACv2
Netgear WNDR3700v2
TP Link 1043ND v3
TP-Link TL-WDR3600 v1
Buffalo WZR-HP-G300NH2
WRT54G-TM

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

Re: Found a way to break QOS?

Post by dsalch »

Daeron wrote:
pbix wrote:
dsalch wrote:The chart on the bandwidth usage screen matches what the actual throughput is, but the class BW readings and settings on the QOS screen do not seem to match.

If you simply mean the load values are not always accurate on the QoS page, that's not very uncommon in my experience. Sometimes it shows 2x the actual load for a few seconds, which I presume is simply a glitch of the page updating slowly in general, or perhaps the CPU being hammered and sending updates more intermittently to low priority services like the GUI. But over let's say a 10 seconds period it should be in the ballpark of what the actual load is. Rule of thumb is to measure in two different places with two different devices.

I have messed around with minBW, but haven't seen any anomalies. I would still suggest removing all the other classes for the duration of testing so you can home in on the issue and present it to us in a way which we can easily reproduce.


The problem is that this is a live system, so testing must only be done in off hours, which are limited. I'll do what I can.

The bandwidth testing I use are generally long term, several minutes, to get consistency. The site I use most often is "testmy.net". In watching, I try to make sure that bandwith is consistent, not jumping around. I can achieve this on a quiet system with only a few controlled streams from a few known sources. This is the condition I use for testing.

Even in consistent streams, the bandwidth reported on the QOS page is significantly higher that what is physically possible, and higher than what is shown on the BW reports. By significant I mean about 700kbps. The BW reports matches what the ecternal test shows over time, while the QOS report shows a consistently higher level, and requires a consistently higher setting to maintain.

In general, To get minBW to work, I must set the minBW setting about 700kbps above what is actually desired, and the max possible bandwidth also that much higher. I suspect this only matters if the available bandwidth is so close to what is required that 700kbps is a significant percentage. In my case, I must guarantee BW of 1000kbps for one class on a line that only gives max of 1700kbps max, so this is significant.

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

Re: Found a way to break QOS?

Post by dsalch »

I just want to say thanks for all the committed help in this issue!

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

Re: Found a way to break QOS?

Post by dsalch »

Quick update.

I had a chance to test again between using class percentages vs min BW on upload and there is still a significant difference. In fat I could not get anywhere near desired results with a minBW setting, but with just class percentages it works perfectly under all conditions.

Min BW on download doesnt seem to cause any troubles, just upload.

Trying to figure out a way to record a test session and upload it as a video so you can see the experience as it is set up. I dont know the best recording software for use on ubuntu, but perhaps i could do it on my windows system.

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

Re: Found a way to break QOS?

Post by dsalch »

UPDATE:

I made a discovery today that drastically affects how QOS operates, which I did not anticipate. IS this expected behavior?

In most of my testing of QOS, I have used a combination of remote and local target streams. "remote" meaning across the DSL line. "local" meaning a local server on the WAN side of the router under test but inside the DSL line.

The presence of a "local" Stream (between a client on the LAN side of the router to a server on the WAN side of the router but not across the DSL) will break QOS. That stream is the one that swamps the bandwidth and does not seem limited by QOS at all.

If I use only "remote" streams, QOS balances fine between those streams. Introducing any local stream again lets the local stream eat up 100% bandwidth.

Is this expected behavior?

Is this due to the extreme difference in latency? Local latency time is a few milliseconds, remote latency is around 40 to 60 ms.

NOTE: I have not verified if this is the issue with upload QOS and min BW. Could be, just haven not had a chance to test with remote only tests.

Thanks!

fifonik
Posts: 113
Joined: Fri Dec 02, 2016 3:52 am
Location: Brisbane, AU

Re: Found a way to break QOS?

Post by fifonik »

deleted (Sorry, I have not read your post carefully)
Your setup is strange and looks like you posted not full information. On your diagram there is direct connection from Gargoyle to WAN. However, if there some other servers on that WAN side this means that it is not really a WAN and another router should be there. This is not an issue on its own as for Gargoyle it is WAN (but as traffic returning quite fast, this may require more CPU to process it).

P.S. I think that you main problem is under-powered router (TP-Link TL-WR1043N/ND v2). Everything require CPU. When CPU load is high QoS just do not work as expected. I believe, you should upgrade your router if you need QoS.

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

Re: Found a way to break QOS?

Post by dsalch »

This is an odd network. I have tried to reduce details for clarity. Here is a larger diagram (and no, this is still not everything).

https://drive.google.com/open?id=1IlLqk ... B0oqDc7x87

https://drive.google.com/open?id=1JyqBg ... Oo6sgwQQg5

I assumed that the principles of QOS would apply equally regardless of the latency (location) of the bandwidth stream ends. Apparently I was wrong. QOS seems to somehow depend on latency in some way?

Is it possible to balance streams through QOS when some are local (very low latency) and some are remote (higher latency)? If not, its not a deal killer, just makes testing tougher.

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

Re: Found a way to break QOS?

Post by dsalch »

Ok! Update!

I was able to repeat testing using only local to remote bandwidth, and almost everything appears to work as expected qith QOS, even with the minimumBW setting. I was able to return to my original and desired settings.

There appears to be two issues, at the conclusion.

1. I still must set the QOS upload max bandwidth higher than physically possible to reach full bandwidth. The setting does not mathematically match with the bandwidth monitoring chart, nor with the test throughout. A setting of 2300 kbits/sec on max upload bw yields a max throughput of 230kBytes/sec. mathematically, shouldn't 2300kbps be equivalent to 290kbytes/s?

The biggest issue was the notion that local traffic is not handled within QOS the same as remote traffic. IF the latency is very low between server and client, QOS fails to manage that traffic. As long as all traffic has similar latency (all across the DSL) then QOS balances as expected.

It this is expected behavior, might be wise to note such for future reference.

At the moment I will consider this issue resolved (except for the bandwidth setting anomaly) and assume that local and remote traffic simply can not be mixed using this QOS system. It's ok, doesnt have to be, it was only testing that caused the problem.

Post Reply