Tuesday Apr 19, 2005

Filebench

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
    
    
  • About

    nickyv

    Search

    Categories
    Archives
    « April 2014
    MonTueWedThuFriSatSun
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
        
           
    Today