Vitaliy Filippov 252e600e15 | ||
---|---|---|
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md | ||
main.cpp | ||
mysignals.cpp | ||
mysignals.h | ||
pool_clean.sh | ||
radosutil.cpp | ||
radosutil.h |
README.md
C++ version of the "Mark's bench" for Ceph
This tool issues random writes to each OSD separately to determine random write performance of each specific OSD.
Usage
# Create a non-replicated pool named bench
# PG number (16) should be sufficient for each OSD to get at least 1 PG
ceph osd pool create bench 16 16 replicated
ceph osd pool set bench size 1
# Benchmark all OSDs which have at least 1 PG in that pool
./ceph-bench bench osd
# Benchmark hosts (print average result per host)
./ceph-bench bench host
# Benchmark a specific OSD
./ceph-bench bench osd 1
Building
git clone https://github.com/vitalif/ceph-bench
cd ceph-bench
apt-get install build-essential libradospp-dev libjsoncpp-dev libtcmalloc-minimal4
make
See Also
- Golang version of the same benchmark: https://github.com/rumanzo/ceph-gobench (currently doesn't work with Ceph 16)
- Article about Ceph performance: https://yourcmc.ru/wiki/Ceph_performance
- Vitastor, a fast block SDS similar to Ceph RBD: https://vitastor.io/ (can achieve ~7k or more T1Q1 write iops)
Authors and License
Authors:
- Mark Korenberg (mark [at] ideco.ru)
- Vitaliy Filippov (vitalif [at] yourcmc.ru)
License:
- GNU GPL 3.0 or later (see LICENSE)