48 lines
1.1 KiB
Markdown
48 lines
1.1 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
|
||
|
|
||
|
* Mark Korenberg <mark at ideco.ru>
|
||
|
* Vitaliy Filippov <vitalif at yourcmc.ru>
|