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.
By default filebench has the following predefined personalities
Application 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
Micro-benchmarks
Copy files
Create files
Random read
Random write
Single stream read
Single stream write
Multi stream write
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 . filebench
this 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