NFSometer
From Linux NFS
Revision as of 20:18, 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]