nfsreplay

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>

News

Intro

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.

Status

nfsreplay is under active development and is still in alpha mode.

It has been tested on the following platforms:

Documentation

There are two types of manuals available here.

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.

Releases

Development Targets

Subversion Repository

The nfsreplay SVN also includes the AsyncRPC, NFSTrafficAnonymizer and libnfsclient. All of these can be checked out from:

To check out only the RPC library:

To check out libnfsclient library:

Note: libnfsclient needs async_rpc library for its RPC calls.

To check out only the NFS traffic anonymizer:

For build and usage instructions for the anonymizer, please see NFSTrafficAnonymizer.

To check out the nfsdump2anon and associated scripts:

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

Mailing Lists

These are also the common support, discussion, development channel for tracedigester, async_rpc, libnfsclient and the nfs anonymizer.

Slides/Talks

  1. NFS Benchmarking using nfsreplay, Connectathon, May 2008

  2. NFS Benchmarking using nfsreplay, Gelato Itanium Conference and Expo, October 2007

IA64wiki: nfsreplay (last edited 2009-12-10 03:13:40 by localhost)

Gelato@UNSW is sponsored by
the University of New South Wales National ICT Australia The Gelato Federation Hewlett-Packard Company Australian Research Council
Please contact us with any questions or comments.