Subtask #6664
open
Tasks #7112: Teuthology performance testing tracker
Add fio task for RBD performance testing
Added by Mark Nelson over 10 years ago.
Updated about 10 years ago.
Description
We need a task to run fio. Should be fairly similar to the rados bench task in substance and style.
We will want to be able to specify the following options:
1) test time
2) io depth
3) io type (read, write, randread, randwrite)
4) io engine
5) op size
6) file size
In addition, we may want to further specify the RBD pool size, replication level, etc. We may also want to be able to specify both RBD and underlying OSD read ahead, nr_requests, etc. There are potentially additional settings that we will want to specify at the kernel RBD or QEMU/KVM level regarding RBD cache, noshare, etc but that likely should be done in a more generic place.
Also, we must ensure that before any read takes place the entire file is written out in it's entirety. That may mean always deleting data files between tests or prefilling the test file before tests are run.
JFYI: we are currently writing a fio backend for RBDs to run performance tests directly with fio on RBDs via librbd. This is may interesting for you too.
This allows you to run comparable tests with fio on RBDs handeld via: kernel RBD, fuse, libvirt/qemu and on the library.
The backend is basically working, but not complete yet. We will announce it as soon as we finished it. You can find the current state here:
https://github.com/TelekomCloud/fio/blob/rbd-engine/engines/rbd.c
- Target version set to v0.76
- Assignee set to Tamilarasi muthamizhan
The basic implementation for a rbd engine is now part of fio upstream.
I work currently on extending the options to be able to create/delete a RBD directly from fio for automated test. But the engine is already working.
Also available in: Atom
PDF