-
Notifications
You must be signed in to change notification settings - Fork 197
Description
As discussed in #1758, the current "application limited" test with BBR is insufficient as it sometimes mistakes busty traffic for path capacity saturation. This can lead to a very poor throughput. Testing the congestion window (bytes_in_flight < cwnd
) is not enough as BBR uses the pacing rate as the main control variable, with the congestion window as a "backup". In normal operation, pacing dominates and the bytes in flight remain below the congestion window. Testing on the pacing rate is also imprecise, because pacing is implemented with a leaky bucket. There will be brief period in which the leaky bucket will be full, letting packets go without pacing, only limiting the last packet out of a train -- but that can happen whether the application is "limiting" or not.
We need to come up with a solution to more accurately detect whether we are application limited or not.