NFSometer
From Linux NFS
Revision as of 20:19, 20 June 2012 by Weston Andros Adamson (Talk | contribs)
NFSometer is a framework for running and reporting performance characteristics of workloads across NFS protocol versions, options and Linux kernels.
Motivation
NFSometer was created to:
- Automate the time consuming process of running a variety of workloads looking for performance regressions between kernel versions, NFS protocol versions and NFS options.
- Generate a report that allows the user to quickly understand the results and comparisons of workload runs, instead of having to manually dig through a lot of data.
Example
The following command will run the Connectathon test suite once for each NFS protocol version (v3, v4, v4.1) and generate a report:
$ ./nfsometer.py zero:/export cthon
Requested: 1 workloads X 3 nfsopts X 1 runs = 3 test runs
Need to run 3 of 3 requested test runs
cthon - needs 1 runs of vers=3
cthon - needs 1 runs of vers=4
cthon - needs 1 runs of vers=4,minorversion=1
Trace 1/3: 1/1 with workload: cthon, nfsopts: vers=3
< SETUP >
Mounting: zero:/export...
remove run directory: /mnt/nfsometer_runroot/cthon
Unmounting: zero:/export...
< RUN >
Mounting: zero:/export...
Running command: cd /home/dros/nfsometer/tests/cthon/cthon && NFSTESTDIR="/mnt/nfsometer_runroot/cthon" ./runtests -a
Unmounting: zero:/export...
Results copied to: nfsometer_trace-cthon-vers=3-0
Trace 2/3: 1/1 with workload: cthon, nfsopts: vers=4
< SETUP >
Mounting: zero:/export...
remove run directory: /mnt/nfsometer_runroot/cthon
Unmounting: zero:/export...
< RUN >
Mounting: zero:/export...
Running command: cd /home/dros/nfsometer/tests/cthon/cthon && NFSTESTDIR="/mnt/nfsometer_runroot/cthon" ./runtests -a
Unmounting: zero:/export...
Results copied to: nfsometer_trace-cthon-vers=4-0
Trace 3/3: 1/1 with workload: cthon, nfsopts: vers=4,minorversion=1
< SETUP >
Mounting: zero:/export...
remove run directory: /mnt/nfsometer_runroot/cthon
Unmounting: zero:/export...
< RUN >
Mounting: zero:/export...
Running command: cd /home/dros/nfsometer/tests/cthon/cthon && NFSTESTDIR="/mnt/nfsometer_runroot/cthon" ./runtests -a
Unmounting: zero:/export...
Results copied to: nfsometer_trace-cthon-vers=4,minorversion=1-0
Successfully ran 3 traces!
Generating reports:
Saved: index.html
Saved: Report_Averages.html
graph summary: 47 generated, 0 cached, 0 mismatch, 0 pruned,
0 hash files and 0 other files deleted
Report index: /home/dros/nfsometer/results/index.html
Screenshot of the generated report
Download
Main git repository:
- git clone git://git.linux-nfs.org/projects/dros/nfsometer.git
- NFSometer gitweb