Feature #45313
closedrbd: add sustained burst capability with controlled burst duration to RBD
0%
Description
The current token bucket design is not flexible enough and lacks sustained burst ability
For example:
Set IOPS limit to 1000 and IOPS burst to 5000, a rbd can only obtain 1 second burst level IOPS, and then maintain limit level
Additional parameters below can be added to make token bucket more flexible:
rbd_qos_iops_burst_length、rbd_qos_write_iops_burst_length、rbd_qos_read_iops_burst_length
rbd_qos_bps_burst_length、rbd_qos_write_bps_burst_length、rbd_qos_read_bps_burst_length
set the capacity of bucket to burst_length*burst and add a small bucket(capacity=burst)in the big one.
add token to the big one at limit level and let token leak from big buket to small one at burst level
always get token from the small one, when burst_length > 1, rbd can obtain sustained burst capability, the burst duration can be controlled by burst length.
Updated by Greg Farnum almost 4 years ago
- Project changed from Ceph to rbd
- Category deleted (
librbd)
Updated by Jason Dillaman almost 4 years ago
- Status changed from New to Resolved
- Pull request ID set to 35138
- Affected Versions deleted (
v14.2.0, v14.2.1, v14.2.10, v14.2.2, v14.2.3, v14.2.4, v14.2.5, v14.2.6, v14.2.7, v14.2.8, v14.2.9)