NFSometer

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
The NFSometer project was started at [http://www.netapp.com/ NetApp] by Weston Andros Adamson as a way to automate performance testing of the Linux NFS client.  Since then it has grown to include many other features, notably the generation of reports.  It is our hope that by releasing this project under the GPLv2 license, the Linux NFS community will benefit from a better understanding of NFS performance characteristics and contribute improvements to NFSometer.
The NFSometer project was started at [http://www.netapp.com/ NetApp] by Weston Andros Adamson as a way to automate performance testing of the Linux NFS client.  Since then it has grown to include many other features, notably the generation of reports.  It is our hope that by releasing this project under the GPLv2 license, the Linux NFS community will benefit from a better understanding of NFS performance characteristics and contribute improvements to NFSometer.
 +
 +
NFSometer is not designed to replace existing filesystem benchmarks.  Instead, it is designed to automate the running of existing filesystem benchmarks and generate reports that make benchmark output more understandable.
Goals:
Goals:
Line 8: Line 10:
* Generate reports that allows the user to understand the performance characteristics of workloads and easily compare performance characteristics of different configurations.
* Generate reports that allows the user to understand the performance characteristics of workloads and easily compare performance characteristics of different configurations.
 +
 +
* Provide a simple way to define new and custom workloads.  This allows IT departments to evaluate NFS deployment scenarios with workloads representative of their organization's unique needs.
== News ==
== News ==

Revision as of 20:08, 22 June 2012

NFSometer is a performance measurement framework for running workloads and reporting results across NFS protocol versions, NFS options and Linux NFS client implementations.

The NFSometer project was started at NetApp by Weston Andros Adamson as a way to automate performance testing of the Linux NFS client. Since then it has grown to include many other features, notably the generation of reports. It is our hope that by releasing this project under the GPLv2 license, the Linux NFS community will benefit from a better understanding of NFS performance characteristics and contribute improvements to NFSometer.

NFSometer is not designed to replace existing filesystem benchmarks. Instead, it is designed to automate the running of existing filesystem benchmarks and generate reports that make benchmark output more understandable.

Goals:

  • 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 reports that allows the user to understand the performance characteristics of workloads and easily compare performance characteristics of different configurations.
  • Provide a simple way to define new and custom workloads. This allows IT departments to evaluate NFS deployment scenarios with workloads representative of their organization's unique needs.

Contents

News

  • Thu Jun 21, 2012: NetApp is pleased to announce the GPLv2 release of NFSometer!

Download

Main git repository:

  • git clone git://git.linux-nfs.org/projects/dros/nfsometer.git
  • NFSometer gitweb

Releases:

Example

The following command will run the Connectathon test suite once for each NFS protocol version (v3, v4.0, 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

Feedback

Please send any bug reports, questions or comments to dros@netapp.com

For contributions, see howto-contribute.txt.

Personal tools