NFSometer

From Linux NFS

Jump to: navigation, search

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

Releases:

  • coming soon!
Personal tools