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
Values:
limit-at=1M
max-limit=2M
burst-threshold=1500k
burst-limit=4M
Client will try to download two 4MB (32Mb) files, first download will start at zero seconds, second download will start at 17th second. Traffic was unused for last minute.
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
Example Burst-time=8s
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)
- 28,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)
- 28,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)
- 29,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)
- 29,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)
- 30,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)
- 30,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=0Mbps (0Mb per 0,5sek)
- 31,0 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)