Size a token bucket: the committed burst size a policer needs to pass a burst without dropping it.
A token bucket refills at the CIR and empties at the sending rate, so only the difference between the two drains it. The burst a given bucket tolerates is its depth divided by that drain rate; sizing the bucket the other way round gives the depth a known burst needs. Policers configured with a default CBS drop the first few milliseconds of every TCP transfer, which triggers retransmits and makes a link that is nowhere near capacity feel broken.
Traffic Burst
CBS = (peak rate − CIR) × burst duration ÷ 8, the excess bytes the bucket must hold.
Maximum conforming burst
burst the bucket allows = CBS × 8 ÷ (peak rate − CIR)
CBS = (peak rate − CIR) × burst duration ÷ 8, the excess bytes the bucket must hold. A token bucket refills at the CIR and empties at the sending rate, so only the difference between the two drains it. The burst a given bucket tolerates is its depth divided by that drain rate; sizing the bucket the other way round gives the depth a known burst needs.
Policers configured with a default CBS drop the first few milliseconds of every TCP transfer, which triggers retransmits and makes a link that is nowhere near capacity feel broken.
This calculator takes 4 inputs: Committed information rate (CIR), Peak burst rate, Configured committed burst size, Burst duration. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.