ceph-bench/README.md

52 lines
1.2 KiB
Markdown

## 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](LICENSE))