From bf4e454a2256168e7792d887051297498de14f33 Mon Sep 17 00:00:00 2001 From: Dongsheng Yang Date: Wed, 13 Sep 2017 00:39:50 +0800 Subject: [PATCH] librbd: limit IO per second by TokenBucketThrottle Signed-off-by: Dongsheng Yang --- .../thrash/workloads/rbd_fsx_rate_limit.yaml | 9 +++++ src/common/options.cc | 4 +++ src/librbd/ImageCtx.cc | 6 +++- src/librbd/ImageCtx.h | 1 + src/librbd/io/ImageRequest.h | 9 +++++ src/librbd/io/ImageRequestWQ.cc | 35 +++++++++++++++++++ src/librbd/io/ImageRequestWQ.h | 8 +++++ .../librbd/io/test_mock_ImageRequestWQ.cc | 2 ++ 8 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 qa/suites/rbd/thrash/workloads/rbd_fsx_rate_limit.yaml diff --git a/qa/suites/rbd/thrash/workloads/rbd_fsx_rate_limit.yaml b/qa/suites/rbd/thrash/workloads/rbd_fsx_rate_limit.yaml new file mode 100644 index 000000000000..6e07e591f59a --- /dev/null +++ b/qa/suites/rbd/thrash/workloads/rbd_fsx_rate_limit.yaml @@ -0,0 +1,9 @@ +tasks: +- rbd_fsx: + clients: [client.0] + ops: 6000 +overrides: + ceph: + conf: + client: + rbd qos iops limit: 50 diff --git a/src/common/options.cc b/src/common/options.cc index 111ab63502ac..738be272f4e4 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -5419,6 +5419,10 @@ static std::vector