Project

General

Profile

Actions

Feature #45313

closed

rbd: add sustained burst capability with controlled burst duration to RBD

Added by wencong wan almost 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

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.

Actions #1

Updated by Greg Farnum almost 4 years ago

  • Project changed from Ceph to rbd
  • Category deleted (librbd)
Actions #2

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)
Actions

Also available in: Atom PDF