Dale Curtis | 8adf789 | 2011-09-08 16:13:36 -0700 | [diff] [blame] | 1 | INTRODUCTION: |
| 2 | ============= |
| 3 | This patch integrates the Flexible Filesystem Benchmark (FFSB) with |
| 4 | the autotest. This integration enables the high-performace I/O load testing in the |
| 5 | KVM Virtual machine environment. |
| 6 | |
| 7 | FFSB is a filesystem performance measurement tool. It is a multi-threaded |
| 8 | application (using pthreads), written entirely in C with cross-platform |
| 9 | portability in mind. It differs from other filesystem benchmarks in that |
| 10 | the user may supply a profile to create custom workloads, while most other |
| 11 | filesystem benchmarks use a fixed set of randomly generated workloads. |
| 12 | |
| 13 | More information about the FFSB can be got from reading the README in the |
| 14 | FFSB source directory which can be accessed from this link: |
| 15 | [http://sourceforge.net/projects/ffsb/] |
| 16 | |
| 17 | With this integration, it is now possible to test a variety of filesystems on |
| 18 | the KVM guest for : |
| 19 | |
| 20 | (1) directed I/O with sequential/random read/write. |
| 21 | (2) buffered I/O with sequential/random read/write. |
| 22 | (3) use varying block alignment boundaries to measure filesystem behaviour. |
| 23 | (4) use multithreaded workloads to stress the filesystem. |
| 24 | (5) Exert weighted combination of I/O workloads to analyze the I/O performace |
| 25 | for a specific scenario. |
| 26 | (6) Age filesystem according to a specified workload upto a specified limit. |
| 27 | |
| 28 | Since the only interface used for the integration is a FFSB configuration file; |
| 29 | Autotest will be able to run variety of I/O tests on guest as FFSB improves, |
| 30 | with no or minimal code change in Autotest itself. |
| 31 | |
| 32 | USE: |
| 33 | ==== |
| 34 | To use the FFSB for Filesystem testing, two configuration files |
| 35 | need to be modified - |
| 36 | (1) Usual - tests.cfg file to activate the ffsb tests through KVM. |
| 37 | (2) profile.cfg - where the workloads are specified. |
| 38 | |
| 39 | TODO: |
| 40 | ==== |
| 41 | * Add validations for max. number of threads according to number of |
| 42 | vcpus exported by QEMU-KVM |
| 43 | * Test Autotest/ffsb |
| 44 | * Test FFSB itself. |