Manual:Queues - Burst
Theory
Burst is a feature that allows to satisfy queue requirement for additional bandwidth even if required rate is bigger that MIR (max-limit) for a short period of time.
Burst can occur only if average-rate of the queue for the last burst-time seconds is smaller that burst-threshold. Burst must stop if average-rate of the queue for the last burst-time seconds is bigger or equal to burst-threshold
Burst mechanism is simple - if burst is allowed max-limit value is replaced by burst-limit value. When burst is disallowed max-limit value remains unchanged.
- burst-limit (NUMBER) : maximal upload/download data rate which can be reached while the burst is allowed
- burst-time (TIME) : period of time, in seconds, over which the average data rate is calculated. (This is NOT the time of actual burst)
- burst-threshold (NUMBER) : basically this is value of burst on/off switch.
- average-rate (read-only) : Every 1/16 part of the burst-time, the router calculates the average data rate of each class over the last burst-time seconds.
- actual-rate (read-only) : actual traffic transfer rate of the queue
Example 1
Values:
limit-at=1M
max-limit=2M
burst-threshold=1500k
burst-limit=4M
burst-time=8s
Client will try to download
Average rate is calculated every 1/16 of burst time, so in this case 0,5s
- Zero second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0)/8=0Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 0,5 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+2)/8=250Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 1,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+0+2+2)/8=500Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 1,5 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+2+2+2)/8=750Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 2,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+2+2+2+2)/8=1000Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 2,5 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+2+2+2+2+2)/8=1250Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 3,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+2+2+2+2+2+2)/8=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 3,5 second - average-rate=(0+0+0+0+0+0+0+0+0+2+2+2+2+2+2+1)/8=1625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 4,0 second - average-rate=(0+0+0+0+0+0+0+0+2+2+2+2+2+2+1+1)/8=1750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 4,5 second - average-rate=(0+0+0+0+0+0+0+2+2+2+2+2+2+1+1+1)/8=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 5,0 second - average-rate=(0+0+0+0+0+0+2+2+2+2+2+2+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 5,5 second - average-rate=(0+0+0+0+0+2+2+2+2+2+2+1+1+1+1+1)/8=2125Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 6,0 second - average-rate=(0+0+0+0+2+2+2+2+2+2+1+1+1+1+1+1)/8=2250Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 6,5 second - average-rate=(0+0+0+2+2+2+2+2+2+1+1+1+1+1+1+1)/8=2375Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 7,0 second - average-rate=(0+0+2+2+2+2+2+2+1+1+1+1+1+1+1+1)/8=2500Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 7,5 second - average-rate=(0+2+2+2+2+2+2+1+1+1+1+1+1+1+1+1)/8=2625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 8,0 second - average-rate=(2+2+2+2+2+2+1+1+1+1+1+1+1+1+1+1)/8=2750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 8,5 second - average-rate=(2+2+2+2+2+1+1+1+1+1+1+1+1+1+1+1)/8=2625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 9,0 second - average-rate=(2+2+2+2+1+1+1+1+1+1+1+1+1+1+1+1)/8=2500Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 9,5 second - average-rate=(2+2+2+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2375Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 10,0 second - average-rate=(2+2+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2250Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 10,5 second - average-rate=(2+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2125Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 11,0 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 11,5 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 12,0 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 12,5 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 13,0 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 13,5 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+0)/8=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 14,0 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+0+0)/8=1750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 14,5 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+0+0+0)/8=1625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 15,0 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+0+0+0+0)/8=1500Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 15,5 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+0+0+0+0+0)/8=1375Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 16,0 second - average-rate=(1+1+1+1+1+1+1+1+1+1+0+0+0+0+0+0)/8=1250Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 16,5 second - average-rate=(1+1+1+1+1+1+1+1+1+0+0+0+0+0+0+0)/8=1125Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=0Mbps (0Mb per 0,5sek)
- 17,0 second - average-rate=(1+1+1+1+1+1+1+1+0+0+0+0+0+0+0+0)/8=1000Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 17,5 second - average-rate=(1+1+1+1+1+1+1+0+0+0+0+0+0+0+0+1)/8=1000Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 18,0 second - average-rate=(1+1+1+1+1+1+0+0+0+0+0+0+0+0+1+2)/8=1125Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 18,5 second - average-rate=(1+1+1+1+1+0+0+0+0+0+0+0+0+1+2+2)/8=1250Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 19,0 second - average-rate=(1+1+1+1+0+0+0+0+0+0+0+0+1+2+2+2)/8=1375Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps (2Mb per 0,5sek)
- 19,5 second - average-rate=(1+1+1+0+0+0+0+0+0+0+0+1+2+2+2+2)/8=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 20,0 second - average-rate=(1+1+0+0+0+0+0+0+0+0+1+2+2+2+2+1)/8=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 20,5 second - average-rate=(1+0+0+0+0+0+0+0+0+1+2+2+2+2+1+1)/8=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 21,0 second - average-rate=(0+0+0+0+0+0+0+0+1+2+2+2+2+1+1+1)/8=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 21,5 second - average-rate=(0+0+0+0+0+0+0+1+2+2+2+2+1+1+1+1)/8=1625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 22,0 second - average-rate=(0+0+0+0+0+0+1+2+2+2+2+1+1+1+1+1)/8=1750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 22,5 second - average-rate=(0+0+0+0+0+1+2+2+2+2+1+1+1+1+1+1)/8=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 23,0 second - average-rate=(0+0+0+0+1+2+2+2+2+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 23,5 second - average-rate=(0+0+0+1+2+2+2+2+1+1+1+1+1+1+1+1)/8=2125Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 24,0 second - average-rate=(0+0+1+2+2+2+2+1+1+1+1+1+1+1+1+1)/8=2250Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 24,5 second - average-rate=(0+1+2+2+2+2+1+1+1+1+1+1+1+1+1+1)/8=2375Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 25,0 second - average-rate=(1+2+2+2+2+1+1+1+1+1+1+1+1+1+1+1)/8=2500Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 25,5 second - average-rate=(2+2+2+2+1+1+1+1+1+1+1+1+1+1+1+1)/8=2500Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 26,0 second - average-rate=(2+2+2+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2375Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 26,5 second - average-rate=(2+2+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2250Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 27,0 second - average-rate=(2+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2125Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
- 27,5 second - average-rate=(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)/8=2000Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps (1Mb per 0,5sek)
Example Burst-time=16s
Average rate is calculated every 1/16 of burst time, so in this case 1s
- Zero second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+0)/16=0Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 1,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+0+0+4)/16=250Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 2,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+0+4+4)/16=500Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 3,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+0+4+4+4)/16=750Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 4,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+0+4+4+4+4)/16=1000Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 5,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+0+4+4+4+4+4)/16=1250Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 6,0 second - average-rate=(0+0+0+0+0+0+0+0+0+0+4+4+4+4+4+4)/16=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 7,0 second - average-rate=(0+0+0+0+0+0+0+0+0+4+4+4+4+4+4+2)/16=1625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 8,0 second - average-rate=(0+0+0+0+0+0+0+0+4+4+4+4+4+4+2+2)/16=1750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 9,0 second - average-rate=(0+0+0+0+0+0+0+4+4+4+4+4+4+2+2+2)/16=1750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 10,0 second - average-rate=(0+0+0+0+0+0+4+4+4+4+4+4+2+2+2+2)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 11,0 second - average-rate=(0+0+0+0+0+4+4+4+4+4+4+2+2+2+2+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 12,0 second - average-rate=(0+0+0+0+4+4+4+4+4+4+2+2+2+2+0+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 13,0 second - average-rate=(0+0+0+4+4+4+4+4+4+2+2+2+2+0+0+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 14,0 second - average-rate=(0+0+4+4+4+4+4+4+2+2+2+2+0+0+0+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 15,0 second - average-rate=(0+4+4+4+4+4+4+2+2+2+2+0+0+0+0+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 16,0 second - average-rate=(4+4+4+4+4+4+2+2+2+2+0+0+0+0+0+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 17,0 second - average-rate=(4+4+4+4+4+2+2+2+2+0+0+0+0+0+0+0)/16=1625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 18,0 second - average-rate=(4+4+4+4+2+2+2+2+0+0+0+0+0+0+0+2)/16=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 19,0 second - average-rate=(4+4+4+2+2+2+2+0+0+0+0+0+0+0+2+2)/16=1375Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 20,0 second - average-rate=(4+4+2+2+2+2+0+0+0+0+0+0+0+2+2+4)/16=1375Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 21,0 second - average-rate=(4+2+2+2+2+0+0+0+0+0+0+0+2+2+4+4)/16=1375Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 22,0 second - average-rate=(2+2+2+2+0+0+0+0+0+0+0+2+2+4+4+4)/16=1375Kbps, average-rate < burst-threshold -> Burst is allowed -> Actual-rate=4Mbps
- 23,0 second - average-rate=(2+2+2+0+0+0+0+0+0+0+2+2+4+4+4+4)/16=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 24,0 second - average-rate=(2+2+0+0+0+0+0+0+0+2+2+4+4+4+4+2)/16=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 25,0 second - average-rate=(2+0+0+0+0+0+0+0+2+2+4+4+4+4+2+2)/16=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 26,0 second - average-rate=(0+0+0+0+0+0+0+2+2+4+4+4+4+2+2+2)/16=1500Kbps, average-rate = burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 27,0 second - average-rate=(0+0+0+0+0+0+2+2+4+4+4+4+2+2+2+2)/16=1625Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 28,0 second - average-rate=(0+0+0+0+0+2+2+4+4+4+4+2+2+2+2+2)/16=1750Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=2Mbps
- 29,0 second - average-rate=(0+0+0+0+2+2+4+4+4+4+2+2+2+2+2+2)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 30,0 second - average-rate=(0+0+0+2+2+4+4+4+4+2+2+2+2+2+2+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps
- 31,0 second - average-rate=(0+0+2+2+4+4+4+4+2+2+2+2+2+2+0+0)/16=1875Kbps, average-rate > burst-threshold -> Burst not allowed -> Actual-rate=0Mbps