Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools: add --no-verify option to rados bench #4728

Merged
merged 1 commit into from May 27, 2015

Conversation

branch-predictor
Copy link
Contributor

When doing seq and rand read benchmarks using rados bench, a quite large
portion of cpu time is consumed by doing object verification. This patch
adds an option to disable this verification when it's not needed, in turn
giving better cluster utilization. rados -p storage bench 600 rand scores
without --no-verification:

Total time run: 600.228901
Total reads made: 144982
Read size: 4194304
Bandwidth (MB/sec): 966
Average IOPS: 241
Stddev IOPS: 38
Max IOPS: 909522486
Min IOPS: 0
Average Latency: 0.0662
Max latency: 1.51
Min latency: 0.004

real 10m1.173s
user 5m41.162s
sys 11m42.961s

Same command, but with --no-verify:

Total time run: 600.161379
Total reads made: 174142
Read size: 4194304
Bandwidth (MB/sec): 1.16e+03
Average IOPS: 290
Stddev IOPS: 20
Max IOPS: 909522486
Min IOPS: 0
Average Latency: 0.0551
Max latency: 1.12
Min latency: 0.00343

real 10m1.172s
user 4m13.792s
sys 13m38.556s

Note the decreased latencies, increased bandwidth and more reads performed.

Signed-off-by: Piotr Dałek piotr.dalek@ts.fujitsu.com

When doing seq and rand read benchmarks using rados bench, a quite large
portion of cpu time is consumed by doing object verification. This patch
adds an option to disable this verification when it's not needed, in turn
giving better cluster utilization. rados -p storage bench 600 rand scores
without --no-verification:

Total time run:       600.228901
Total reads made:     144982
Read size:            4194304
Bandwidth (MB/sec):   966
Average IOPS:         241
Stddev IOPS:          38
Max IOPS:             909522486
Min IOPS:             0
Average Latency:      0.0662
Max latency:          1.51
Min latency:          0.004

real    10m1.173s
user    5m41.162s
sys     11m42.961s

Same command, but with --no-verify:

Total time run:       600.161379
Total reads made:     174142
Read size:            4194304
Bandwidth (MB/sec):   1.16e+03
Average IOPS:         290
Stddev IOPS:          20
Max IOPS:             909522486
Min IOPS:             0
Average Latency:      0.0551
Max latency:          1.12
Min latency:          0.00343

real    10m1.172s
user    4m13.792s
sys     13m38.556s

Note the decreased latencies, increased bandwidth and more reads performed.

Signed-off-by: Piotr Dałek <piotr.dalek@ts.fujitsu.com>
@theanalyst
Copy link
Member

Nice! Planning to try this out

@markhpc
Copy link
Member

markhpc commented May 20, 2015

Nice catch! Out of curiosity, do you see similar aggregate performance increases if you run two copies of rados bench on the same client (ie spread load across multiple cores)?

@branch-predictor
Copy link
Contributor Author

Actually, running two rados bench with half of concurrent ios each gives better results than one processing all of the concurrent ios. Certainly, rados bench would benefit from multithreading.
Also, you might be interested in this PR: #4690

liewegas added a commit that referenced this pull request May 27, 2015
tools: add --no-verify option to rados bench

Reviewed-by: Sage Weil <sage@redhat.com>
@liewegas liewegas merged commit b2ccd9e into ceph:master May 27, 2015
@branch-predictor branch-predictor deleted the wip-radosbench-nomemcmp branch November 10, 2015 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants