This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
qos [2013/09/24 11:04] pbix [Introduction] |
qos [2017/12/29 01:21] (current) ispyisail [Router Performance] |
||
---|---|---|---|
Line 19: | Line 19: | ||
How about an analogy? I fly a lot and if you do too then you understand that when it’s time to board the airplane we do not just all rush at the door. The gate agent enforces the airline’s quality of service plan for each passenger. She starts by boarding handicapped folks, then we move onto the airline’s diamond members, then gold, silver and finally we arrive at the bulk class. In this analogy the gate agent is the router and the passengers are the packets of data trying to get through to the WAN. The point is that for | How about an analogy? I fly a lot and if you do too then you understand that when it’s time to board the airplane we do not just all rush at the door. The gate agent enforces the airline’s quality of service plan for each passenger. She starts by boarding handicapped folks, then we move onto the airline’s diamond members, then gold, silver and finally we arrive at the bulk class. In this analogy the gate agent is the router and the passengers are the packets of data trying to get through to the WAN. The point is that for | ||
- | those diamond members to experience high quality the average Joes must wait. One more interesting lesson from this example is that if there is no one else waiting to board the plane when you show up it does not matter what your status is, you get to board next. The lesson here is that if the WAN is not | + | those diamond members to experience high quality the average Joes must wait. When people are waiting to board we call this the ' |
saturated your QoS setup will not matter much, all packets get immediately transmitted. | saturated your QoS setup will not matter much, all packets get immediately transmitted. | ||
Line 212: | Line 212: | ||
==== Total Bandwidth Field ==== | ==== Total Bandwidth Field ==== | ||
- | Below the class table is the total (upload/ | + | Below the class table is the total (upload/ |
- | critical | + | |
- | congestion controller or not and if your WAN connection type (set on the Connection-> | + | |
- | to PPPoE. Assuming | + | |
- | When using PPPoE you should consult | + | Now start with the upload |
- | is running at. Enter the uplink/ | + | |
- | When not using PPPoE you should | + | On the download page the value you enter depends on if you are using ACC or not. When using ACC you enter the maximum download speed you saw. If you enter a value even 10% higher its OK too. ACC is going to automatically adjust |
- | 95% of your measured upload speed on the upload screen. The way I recommend to measure | + | |
- | speed is to first turn QoS off, then make sure no one is using the WAN link and then run a speed test such | + | |
- | as the one http:// | + | |
- | If you are not using the ACC then you will generally | + | If you are not using ACC then things get more complicated. |
- | values mentioned above. The amount to reduce varies from 20-80% | + | |
- | your ISP. For this reason I recommend that you use the ACC. | + | |
===== Active Congestion Controller (ACC) ===== | ===== Active Congestion Controller (ACC) ===== | ||
- | The active congestion controller continuously monitors your WAN download performance and adjusts | + | For QoS to function |
- | the total downlink bandwidth in response | + | |
- | delivered by your ISP will vary as conditions on their network change. Like you your ISP has a WAN | + | |
- | link to the internet. When their WAN link saturates they must limit the delivered performance to all their | + | |
- | customers. The ACC detects the performance being delivered by monitoring the round trip times (RTT) | + | |
- | of ping packets sent to your ISP’s gateway. The RTT corresponds roughly to the amount | + | |
- | queued by the ISP and waiting | + | |
- | data that is queued is how the ACC makes QoS work. | + | |
- | Let’s think about the queue that your ISP has for you. The amount of data waiting in the queue will grow | + | The active congestion controller continuously monitors your WAN download performance and adjusts |
- | or shrink based on several factors. A critical point will be when it grows to the point that no more data | + | |
- | can fit in the queue. In that case the packet must be discarded by your ISP. This turns out to be bad for | + | |
- | QoS. For QoS to function accurately it alone must decide which packets should be dropped. When the | + | The amount of download bandwidth actually delivered by your ISP will vary as conditions on their network change. Like you your ISP has a WAN link to the internet. When their WAN link saturates they must limit the delivered performance to all their customers. The ACC detects |
- | ACC is in active mode it is controlling | + | queued by the ISP and waiting to travel over the WAN link to your router. Controlling |
- | router’s QoS is dropping packets. Notice I said that the ACC controls the length | + | |
- | cannot control | + | |
- | enough | + | |
- | keep you downlink fully utilized by allowing | + | |
- | that packets get dropped. | + | |
- | It turns out that the proper amount of data in your queue for full utilization would take about 100ms to | + | Let’s think about the queue that your ISP has for you. The amount of data waiting in the queue will grow or shrink based on several factors. A critical point will be when it grows to the point that no more data can fit in the queue. In that case the packet must be discarded by your ISP. This turns out to be bad for QoS. For QoS to function accurately it alone must decide which packets should be dropped. When the ACC is in active mode it is controlling the data flow such that this queue does not overflow and only your router’s QoS is dropping packets. Notice I said that the ACC controls the length of downlink queue. It cannot control the speed of your downlink. As long as the queue in front of your WAN downlink has enough data in it your downlink will be fully utilized. This is the goal of the ACC in active mode. To |
- | drain away if no new packets arrived. This also means that each packet has to wait around 100ms in the | + | keep you downlink fully utilized by allowing the queue to grow to the necessary length but not too long that packets get dropped. |
- | queue before it proceeds. The affects the round trip time (RTT) of a packet exchange. If for example I | + | |
- | send a ‘ping’ message to a computer on the internet the response will have to wait in this queue. Adding | + | It turns out that the proper amount of data in your queue for full utilization would take about 100ms to drain away if no new packets arrived. This also means that each packet has to wait around 100ms in the queue before it proceeds. The affects the round trip time (RTT) of a packet exchange. If for example I send a ‘ping’ message to a computer on the internet the response will have to wait in this queue. Adding other overhead and you end up with a total RTT of around 150ms in this case. Some applications will be |
- | other overhead and you end up with a total RTT of around 150ms in this case. Some applications will be | + | affected by an RTT of this length. So the ACC has another mode in which it reduces the average length of this queue to about half this value. This will lead to RTTs of around 75ms but at the cost of WAN utilization. When the minRTT mode is active WAN utilization drops by about 20% but the RTT is cut in |
- | affected by an RTT of this length. So the ACC has another mode in which it reduces the average length | + | half. This is a useful compromise which the ACC will make when a class becomes active which indicates it needs minimum RTTs and is indicated in the status display by the MinRTT mode. |
- | of this queue to about half this value. This will lead to RTTs of around 75ms but at the cost of WAN | + | |
- | utilization. When the minRTT mode is active WAN utilization drops by about 20% but the RTT is cut in | + | |
- | half. This is a useful compromise which the ACC will make when a class becomes active which indicates | + | |
- | it needs minimum RTTs and is indicated in the status display by the MinRTT mode. | + | |
The ACC considers a class to be active if the bandwidth used by that class exceeds 4kbps. | The ACC considers a class to be active if the bandwidth used by that class exceeds 4kbps. | ||
Line 270: | Line 243: | ||
Use non-standard ping target: The ACC needs to bounce pings off of a computer on the other side your | Use non-standard ping target: The ACC needs to bounce pings off of a computer on the other side your | ||
WAN link in order to determine the amount of congestion which is present. By default the ACC uses | WAN link in order to determine the amount of congestion which is present. By default the ACC uses | ||
- | the gateway assigned to the WAN port as this target, however, | + | the gateway assigned to the WAN port as this target, however, this is often not the appropriate target and must be changed. |
- | needed. Remember that the ACC controls the congestion between your router and this target so you need | + | |
- | to pick something on the ISP side of your WAN connection. | + | |
Use custom ping limit: This is the ping limit that ACC will use in MINRTT mode. Unless you check | Use custom ping limit: This is the ping limit that ACC will use in MINRTT mode. Unless you check | ||
Line 279: | Line 250: | ||
own this setting can be used to remedy the problem. This value will normally be between 40-90ms and | own this setting can be used to remedy the problem. This value will normally be between 40-90ms and | ||
can be observed when the ACC is in MINRTT mode as the ping time limit. | can be observed when the ACC is in MINRTT mode as the ping time limit. | ||
+ | |||
+ | ===== Router Performance ===== | ||
+ | |||
+ | Your router has a CPU and that CPU has a limit on how much data is can process per second. | ||
+ | |||
+ | This will happen somewhere between 10Mbps and 500Mbps depending on your router and what Gargoyle features you are using. | ||
+ | |||
+ | Bandwidth monitoring and QoS are the two features that take the most processing for your router. | ||
+ | |||
+ | Don't complain on the forum that your router' | ||
+ | |||
+ | ---------------- | ||
+ | |||
+ | All routers have a maximum processing speed for the WAN link. If you lower your total WAN bandwidth (upload plus download) to below this maximum on the Gargoyle QoS screens then Gargoyle will throttle your throughput and all your Gargoyle functions will work properly. This may result in you not being able to utilize the full bandwidth your ISP provides you but you will have stable and predictable performance. | ||
+ | |||
+ | Selecting a router that has enough horsepower to handle your full bandwidth is important if you really want to use all your available bandwidth. Stock firmware which comes with your modem will usually provide higher throughput than Gargoyle. The reason for this is simple. The stock firmware does not have the advanced features of Gargoyle. Especially QoS and Bandwidth monitoring. These are the features that require CPU horsepower. If you turn them off in Gargoyle you will also see a high throughput capability. | ||
+ | |||
+ | Like a car top-end speed is not the only desirable feature. The many other features that you use everyday are usually what you should concentrate on and these are what Gargoyle provides. | ||
===== FAQS ===== | ===== FAQS ===== | ||
Line 296: | Line 285: | ||
shared between them. | shared between them. | ||
- | **A.** Prior to Gargoyle v1.5.4 there was no control on this and the sharing could not be predicted. | + | **A.** Prior to Gargoyle v1.5.4 there was no control on this and the sharing could not be predicted. |
- | Starting with v1.5.4 Gargoyle shares bandwidth equally between different IP addresses directed to | + | |
- | the same class. This makes QoS setups for large LANs much easier. For example if merely want all | + | |
- | computers on your network to have the same bandwidth you need to only create a default class, delete all | + | |
- | your rules and enable QoS. | + | |
==== enable minimize RTT ==== | ==== enable minimize RTT ==== | ||
Line 329: | Line 314: | ||
**Q.** I want to use QoS for traffic between computers on my LAN. How can I do that? | **Q.** I want to use QoS for traffic between computers on my LAN. How can I do that? | ||
- | **A.** | + | **A.** |
- | a switch in hardware and therefore never seen by your router software. This is also why LAN< | + | nothing that it can do. This applies to all Wifi traffic as well. QoS can do nothing to help when the congestion which is caused by an overloaded radio link. I advise serious gamers to use a hardwired connection between their console/PC and the router so they will not be affected by unpredictable traffic jams on the radio link. |
- | traffic can have much higher bandwidth than LAN< | + | |
- | nothing that it can do. | + | |
==== Number of rules and classes ==== | ==== Number of rules and classes ==== | ||
Line 347: | Line 330: | ||
**A.** In Gargoyle we use the concept of bandwidth to allocate the WAN resource and not the concept of ‘priority’. | **A.** In Gargoyle we use the concept of bandwidth to allocate the WAN resource and not the concept of ‘priority’. | ||
+ | |||
+ | |||
+ | ==== QoS not working ==== | ||
+ | |||
+ | |||
+ | **Q.** QoS is not working what could be wrong. | ||
+ | |||
+ | **A.** As you can tell by the length of this article QoS is a complicated subject and there are many things that could be wrong. | ||
+ | |||
+ | ==== ACC keeps lowering my link limit ==== | ||
+ | |||
+ | |||
+ | **Q.** Why does ACC keep lowering my link limit, I have to reset to get it back. | ||
+ | |||
+ | **A.** ACC lowers your link limit until the filtered ping time falls under the target ping times. | ||
+ | |||
===== Common Myths ===== | ===== Common Myths ===== | ||
Line 409: | Line 408: | ||
Statement: | Statement: | ||
- | **Rebuttal: | + | **Rebuttal: |