Testing tools

From Linux NFS

(Difference between revisions)
Jump to: navigation, search
m
Line 384: Line 384:
<tr>
<tr>
-
<td>[[#Connectathon|connectathon]]</td>
+
<td>[[#Connectathon|Connectathon]]</td>
<td>
<td>
Line 519: Line 519:
Fstress includes several important "canned" workloads.
Fstress includes several important "canned" workloads.
-
=='''[http://www.spec.org/benchmarks.html#nfs Spec SFS]'''==
+
=='''[http://www.spec.org/benchmarks.html#nfs SpecSFS]'''==
This tool is an industry standard designed to test a NFS server by emulating the NFS client and verifying the correctness of the result. Since the low level protocol is verified, the tool is protocol dependent and must be
This tool is an industry standard designed to test a NFS server by emulating the NFS client and verifying the correctness of the result. Since the low level protocol is verified, the tool is protocol dependent and must be
adapted to the NFSv4 and IPv6 support.
adapted to the NFSv4 and IPv6 support.
Line 528: Line 528:
OpenPOSIX is a tool designed to test the POSIX conformance. Currently, the test allow to test pthread, timers and ipc related functions. However, a few filesystems functions can be tested (open, close).
OpenPOSIX is a tool designed to test the POSIX conformance. Currently, the test allow to test pthread, timers and ipc related functions. However, a few filesystems functions can be tested (open, close).
-
=='''[http://www.nfsv4.org/ NFSv4 IETF project/connectathon]'''==
+
=='''[http://www.nfsv4.org/ Connectathon]'''==
-
This test suite is the official suite of the connectathon to test clients/servers interoperability.
+
This test suite from the NFSv4 IETF project is the official suite of the connectathon to test clients/servers interoperability.
=='''[http://www.citi.umich.edu/projects/nfsv4/pynfs/ PyNFS]'''==
=='''[http://www.citi.umich.edu/projects/nfsv4/pynfs/ PyNFS]'''==
Line 544: Line 544:
*Read file or Append file
*Read file or Append file
-
=='''[http://sourceforge.net/projects/ffsb/ Flexible File System Benchmark]'''==
+
=='''[http://sourceforge.net/projects/ffsb/ FFSB]'''==
The Flexible Filesystem Benchmark (FFSB) is a cross-platform filesystem performance measurement tool. It uses customizable profiles to measure of different workloads, and it supports multiple groups of threads across multiple filesystems. Depending on the profile It can be used for robustness and stress testing as well as performances testing.
The Flexible Filesystem Benchmark (FFSB) is a cross-platform filesystem performance measurement tool. It uses customizable profiles to measure of different workloads, and it supports multiple groups of threads across multiple filesystems. Depending on the profile It can be used for robustness and stress testing as well as performances testing.
-
=='''[http://ltp.sf.net/ (N)FSx]'''==
+
=='''[http://ltp.sf.net/ NFSx]'''==
NFSx is the nfs vrsion of fsx. That is the fs torture suite used by the [http://ltp.sf.net/ LTP] to test the linux filesystem robustness. Initialisations scripts from the ltp are yet modified to support the NFSv4 style syntax.
NFSx is the nfs vrsion of fsx. That is the fs torture suite used by the [http://ltp.sf.net/ LTP] to test the linux filesystem robustness. Initialisations scripts from the ltp are yet modified to support the NFSv4 style syntax.

Revision as of 12:06, 18 May 2005

All this programs are provided under the GPL, excepted SpecSFS. This tools are mainly issued from two projects :


Contents

Overview

</tr>
Non Reg capability Performance evaluation Robustness evaluation NFSv3/v4 support IPv4/IPv6 POSIX conformance Interoperability evaluation RFC 3530 conformance

Bonnie++

yes

yes

no

v3/v4

IPv4/IPv6 no

yes

no
FFSB yes

yes

yes v3/v4

IPv4/IPv6

no yes no
NetBench yes yes yes

v3/v4

IPv4/IPv6

no

yes

no
DBench

yes

yes yes

v3/v4

IPv4/IPv6

no yes

no

IOZone yes yes no

v3/v4

IPv4/IPv6

no

yes

no
Stress
???
no yes

v3/v4

IPv4/IPv6

no yes no
fstress yes

yes

yes

v3/v4

IPv4/IPv6

no yes no
SpecSFS no yes no v3

IPv4

no

yes

yes

(N)FSx

yes

no yes

v3/v4

IPv4/IPv6

no

yes

no

Mongo ??? yes no

v3/v4

IPv4/IPv6

no

yes no
PyNFS no no yes

v4

IPv4

no no yes
Connectathon

no

no

no v4 IPv4 no yes

-

OpenPOSIX no no no

v3/v4

IPv4/IPv6

partial

no

no

PostMark

???

yes

yes

v3/v4

IPv4/IPv6

no yes

no

Nota : All tests are interoperability evaluation capable, by testing all NFSv4 clients/servers combinations. To support NFSv4 and IPv6 the SpecSFS tool must be updated. According to a first sizing, 11 month may be necessary.

Description

Bonnie

A classical performances evaluation tool tests. The main program tests database type access to a single file (or a set of files if you wish to test more than 1G of storage), and it tests creation, reading, and deleting of small files which can simulate the usage of programs such as Squid, INN, or Maildir format email.

DBench

Dbench was written to allow independents developers to debug and test SAMBA. It is heavily inspired of the original SAMBA tool : NetBench

As NetBench it allow to:

  • torture the file system
  • improve the network load independently of the disk IO
  • Measure performances

But it does not need as many hardware resources as NetBench to run.

IOZone

Performances tests suites. POSIX and 64 bits compliant. This tests is the file system test from the L.S.E. Main features

  • POSIX async I/O, Mmap() file I/O, Normal file I/O
  • Single stream measurement, Multiple stream measurement, Distributed

file server measurements (Cluster)

  • POSIX pthreads, Multi-process measurement
  • Selectable measurements with fsync, O_SYNC
  • Latency plots

Stress

This tool allow to set up a user specified amount of CPU, Disks IO, RAM and HDD load, and then to launch the test suite. Any error is detected and reported. It may be used to evaluate how well their systems will scale, by kernel programmers to evaluate perceived performance characteristics, and by systems programmers to expose the classes of bugs which only or more frequently manifest themselves when the system is under heavy load.

Fstress

A very flexible tool designed to evaluate NFS performances. fstress exports control over several dimensions in both data set and workload, enabling a wide range of tests for fundamental evaluation of file service scalability, sizing, configuration, and other factors.

Fstress includes several important "canned" workloads.

SpecSFS

This tool is an industry standard designed to test a NFS server by emulating the NFS client and verifying the correctness of the result. Since the low level protocol is verified, the tool is protocol dependent and must be adapted to the NFSv4 and IPv6 support.

Dbench, fstress and SpecSFS are directly designed and used to test networks file systems

OpenPOSIX

OpenPOSIX is a tool designed to test the POSIX conformance. Currently, the test allow to test pthread, timers and ipc related functions. However, a few filesystems functions can be tested (open, close).

Connectathon

This test suite from the NFSv4 IETF project is the official suite of the connectathon to test clients/servers interoperability.

PyNFS

PyNFS is the tool used to debug the Linux NFSv4 server. It maybe adapted to verify the RFC compliance.

Mongo

Mongo is the filesystem suite from the Reiser4 filesystem project. It is a set of the programs to test linux filesystems for performance and functionality. The main program is mongo.pl script which creates the set of statistics for the file system variations specified by special mongo options. The mongo_parser.pl script parses those statistics and creates for them comparative html-table.

PostMark

PostMark was designed to create a large pool of continually changing files and to measure the transaction rates for a workload approximating a large Internet electronic mail server. It generates an initial pool of random text files ranging in size from a configurable low bound to a configurable high bound. This file pool is of configurable size and can be located on any accessible file system. Once the pool has been created (also producing statistics on continuous small file creation performance), a specified number of transactions occurs. Each transaction consists of a pair of smaller transactions:

  • Create file or Delete file
  • Read file or Append file

FFSB

The Flexible Filesystem Benchmark (FFSB) is a cross-platform filesystem performance measurement tool. It uses customizable profiles to measure of different workloads, and it supports multiple groups of threads across multiple filesystems. Depending on the profile It can be used for robustness and stress testing as well as performances testing.

NFSx

NFSx is the nfs vrsion of fsx. That is the fs torture suite used by the LTP to test the linux filesystem robustness. Initialisations scripts from the ltp are yet modified to support the NFSv4 style syntax.

Personal tools