Having seen the recent release of filebench to source forge by Richard I though I might post a bit about my experiences using the filebench framework. Filebench is a frame work which allows the user emulate an applications interaction with the filesystem aka personalities.
Varmail - multi threaded postmark style workload
File server - similair to Spec sfs , the nfs benchmark
Oltp - a database emulator modelled on Oracle 9i access patterns
Web server
Web proxy
Copy files
Create files
Random read
Random write
Single stream read
Single stream write
Multi stream write
By default filebench has the following predefined personalities
Application personalities
Micro-benchmarks
Filebench - getting started
I have only used Filebench on Solaris (x86/sparc) but I am eagerly waiting to get my hands on the Linux distro. To install on Solaris is the same as adding any other package,
# pkgadd -d . filebenchthis installs the package in /opt/filebench. To execute a single personality
# bin/filebench filebench> load webproxy 1641: 5.761: Usage: set $dir=1641: 5.761: set $filesize= defaults to 16384 1641: 5.761: set $nfiles= defaults to 1000 1641: 5.761: set $nthreads= defaults to 100 1641: 5.761: set $meaniosize= defaults to 16384 1641: 5.761: set $meandirwidth= defaults to 1000000 1641: 5.761: (sets mean dir width and dir depth is calculated as log (width, nfiles) 1641: 5.761: dirdepth therefore defaults to dir depth of 1 as in postmark 1641: 5.761: set $meandir lower to increase depth beyond 1 if desired) 1641: 5.761: 1641: 5.761: run runtime (e.g. run 60) filebench> set $dir=/tmp filebench> set $nfiles=100 filebench> create filesets 1641: 80.772: Fileset bigfileset: 100 files, avg dir = 1000000.0, avg depth = 0.3, mbytes=1 1641: 80.772: Creating fileset bigfileset... 1641: 80.853: Preallocated 86 of 100 of fileset bigfileset in 1 seconds filebench> create files 1641: 90.412: Creating/pre-allocating files filebench> create processes 1641: 97.513: Starting 1 proxycache instances 1644: 98.519: Starting 100 proxycache threads filebench> stats clear filebench> sleep 120 1641: 112.585: Running... 1641: 233.619: Run took 120 seconds... filebench> stats snap 1641: 271.376: IO Summary: 5986660 ops 36127.5 ops/s, (9507/1901 r/w) 103.7mb/s, 117us cpu/op, 0.1ms latency filebench> shutdown processes 1641: 309.257: Shutting down processes filebench> quit
