Welcome to nfsreplay home page. nfsreplay is part of a larger project aimed at evaluating and improving NFS scalability on Linux. The NFS benchmarking project page is here NFSBenchmarking
I can be reached at <shehjart AT gelato DOT NO SPAM unsw DOT edu GREEBLIES DOT au>
July 16, 2008: nfsreplay version 0.0.3 released
June 08, 2008: Linked Connectathon 2008 slides in the Slides section.
May 16, 2008: nfsreplay version 0.0.2 released
Mar 10, 2008: nfsreplay version 0.0.1 released
Nov 5, 2007: Linked in slides from Gelato ICE October 2007 presentation
Jun 18, 2007: nfsreplay mailing lists are up
Jun 18, 2007: nfsreplay User's Guide is up
April 4, 2007 nfsreplay svn is up.
nfsreplay is a tool to replay Network File System traffic. Currently, it supports replaying of NFS version 3 traces only. Traffic that is replayed could be captured dumps from tcpdump or TShark. It can be used for performing server and client benchmarking under a wide range of workloads. Such workloads are only limited by the characteristics of the trace being replayed. nfsreplay allows various types replay scaling of the original trace so that measurements can be performed under varying degrees of stress. Two sub-projects are the Asynchronous RPC library that provides non-blocking RPC calls and asynchronous notifications of RPC replies through callbacks and the libnfsclient which provides user space interface for generating client side NFS requests. See AsyncRPC and libnfsclient for more info.
Before the captured dumps are replayed, they can be anonymized to remove user data. Anonymization can be performed using the extension to the TShark NFS analyzer. The traffic anonymizer page is at NFSTrafficAnonymizer but the code is part of nfsreplay repository.
Before the anonymized trace can be replayed, it needs to be synthesized to extract relevant meta data. This meta data extraction is performed using a tool called tracedigester and is included in the nfsreplay source tree. tracedigester extracts relevant information required for replay, synthesizes it into internal data structures and dumps these into a format called Replay Dump or rdump. The rdump format is such that nfsreplay does not have to spend CPU time on extracting and building the data structures during replay and instead focus on scalable network IO.
nfsreplay is under active development and is still in alpha mode.
It has been tested on the following platforms:
There are two types of manuals available here.
User's Guide: Describes each tool and the command line parameters and provides guidance on usage.
nfsreplay Internals: Describes internal source code organization, data structures and algorithms.
Then there are the tutorials which demonstrate specific features or a combination of features in a self-contained manner. These are available on the nfsreplayTutorials page.
Lightweight user space NFSv3 client helpers to assist full-fledged user space client NFSv3 stacks in managing generic state and callbacks.
Such helpers will be useful in developing a user-space NFS client, perhaps using FUSE.
Extraction of orphans info map from the original FS hierarchy for replaying against the same
- Version 0.0.3, released on July 16, 2008.
svn co https://nfsreplay.svn.sourceforge.net/svnroot/branches/releases/nfsreplay-0.0.3 nfsreplay-0.0.3
- Version 0.0.2, released on May 16, 2008.
svn co https://nfsreplay.svn.sourceforge.net/svnroot/branches/releases/nfsreplay-0.0.2 nfsreplay-0.0.2
- Version 0.0.1, released on March 10, 2008.
svn co https://nfsreplay.svn.sourceforge.net/svnroot/branches/releases/nfsreplay-0.0.1 nfsreplay-0.0.1
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk nfsreplay
To check out only the RPC library:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/async_rpc async_rpc
To check out libnfsclient library:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/libnfsclient libnfsclient
Note: libnfsclient needs async_rpc library for its RPC calls.
To check out only the NFS traffic anonymizer:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/misc/nfsanon ./nfsanon
For build and usage instructions for the anonymizer, please see NFSTrafficAnonymizer.
To check out the nfsdump2anon and associated scripts:
svn co https://nfsreplay.svn.sourceforge.net/svnroot/nfsreplay/trunk/misc/nfsdump2anon ./nfsdump2anon
For building and usage instructions, see the nfsdump2anon page in the nfsreplayUsersGuide
nfsreplay and tracedigester building instructions can be found in the BUILD file in the source tree. It can also be viewed at nfsreplay SVN
These are also the common support, discussion, development channel for tracedigester, async_rpc, libnfsclient and the nfs anonymizer.
nfsreplay-users: Usage and development related discussion of nfsreplay and associated tools. Everything happens here till there is need for a dedicated dev list.
To subscribe/unsubscribe, visit https://lists.sourceforge.net/lists/listinfo/nfsreplay-users
To view the archives, visit nfsreplay-users archive
nfsreplay-commits: To receive notifications of check-ins to the nfsreplay subversion repository.
To subscribe/unsubscribe, visit https://lists.sourceforge.net/lists/listinfo/nfsreplay-commits
To view the archives, visit nfsreplay-commits archive
nfsreplay-devel: nfsreplay development discussion.
To subscribe/unsubscribe, visit https://lists.sourceforge.net/lists/listinfo/nfsreplay-devel
To view the archives, visit nfsreplay-devel archive
NFS Benchmarking using nfsreplay, Connectathon, May 2008
Couldn't attend this conference eventually.
- NFS Benchmarking using nfsreplay, Gelato Itanium Conference and Expo, October 2007