The Flexible Filesystem Benchmark

name:
The Flexible Filesystem Benchmark
layers:
POSIX
features:
metadata
parallel:
pthreads
type:
synthetic
license:
GPLv2
webpage:
https://sourceforge.net/projects/ffsb/

The Flexible Filesystem Benchmark is a crossplatform multithreaded performance test for your filesystem. It is easly customizable by specifying workloads.

Usage

After you the download you have to build ffsb by first running ./configure and then running make. Then you can specify your benchmark profile. In the example folder is already a profile you can use as a base. To understand all the options read the README file.

After you done all this you can run the benchmark by typing:

./ffsb <path_to_your_profile>

Example Output

When you run ffsb the output will look something like this:

FFSB version 6.0-RC2 started

benchmark time = 10
ThreadGroup 0
================
         num_threads      = 4

         read_random      = off
         read_size        = 40960       (40KB)
         read_blocksize   = 4096        (4KB)
         read_skip        = off
         read_skipsize    = 0   (0B)

         write_random     = off
         write_size       = 40960       (40KB)
         fsync_file       = 0
         write_blocksize  = 4096        (4KB)
         wait time        = 0

         op weights
                         read = 0 (0.00%)
                      readall = 1 (10.00%)
                        write = 0 (0.00%)
                       create = 1 (10.00%)
                       append = 1 (10.00%)
                       delete = 1 (10.00%)
                       metaop = 0 (0.00%)
                    createdir = 0 (0.00%)
                         stat = 1 (10.00%)
                     writeall = 1 (10.00%)
               writeall_fsync = 1 (10.00%)
                   open_close = 1 (10.00%)
                  write_fsync = 0 (0.00%)
                 create_fsync = 1 (10.00%)
                 append_fsync = 1 (10.00%)

FileSystem ./test
==========
         num_dirs         = 100
         starting files   = 0

         Fileset weight:
                     33554432 (  32MB) -> 1 (1.00%)
                      8388608 (   8MB) -> 2 (2.00%)
                       524288 ( 512KB) -> 3 (3.00%)
                       262144 ( 256KB) -> 4 (4.00%)
                       131072 ( 128KB) -> 5 (5.00%)
                        65536 (  64KB) -> 8 (8.00%)
                        32768 (  32KB) -> 10 (10.00%)
                        16384 (  16KB) -> 13 (13.00%)
                         8192 (   8KB) -> 21 (21.00%)
                         4096 (   4KB) -> 33 (33.00%)
         directio         = off
         alignedio        = off
         bufferedio       = off

         aging is off
         current utilization = 17.96%

creating new fileset ./test
fs setup took 0 secs
Syncing()...1 sec
Starting Actual Benchmark At: Fri Jun 30 13:07:57 2017

Syncing()...1 sec
FFSB benchmark finished   at: Fri Jun 30 13:08:09 2017

Results:
Benchmark took 11.98 sec

Total Results
===============
             Op Name   Transactions      Trans/sec      % Trans     % Op Weight    Throughput
             =======   ============      =========      =======     ===========    ==========
             readall :        32665        2726.57      24.058%         10.521%          /sec
              create :        15403        1285.70      11.345%          8.784%          /sec
              append :         1260         105.17       0.928%         12.162%          /sec
              delete :           81           6.76       0.060%          7.819%            NA
                stat :          103           8.60       0.076%          9.942%            NA
            writeall :        38814        3239.83      28.587%          9.266%          /sec
      writeall_fsync :        12032        1004.32       8.862%         10.232%          /sec
          open_close :          113           9.43       0.083%         10.907%            NA
        create_fsync :        34303        2863.29      25.265%         10.714%          /sec
        append_fsync :         1000          83.47       0.737%          9.653%          /sec
-
11333.13 Transactions per Second

Throughput Results
===================
Read Throughput: 10.7MB/sec
Write Throughput: 33.5MB/sec

System Call Latency statistics in millisecs
=====
                Min             Avg             Max             Total Calls
                ========        ========        ========        ============
[   open]       0.002000        0.313038        60.127998                852
   -
[   read]       0.001000        0.001733        0.559000               32665
   -
[  write]       0.001000        0.006604        166.862000            102812
   -
[ unlink]       0.026000        0.195025        2.335000                  81
   -
[  close]       0.000000        0.002742        0.020000                 852
   -
[   stat]       0.001000        0.004398        0.014000                 103
   -



0.3% User   Time
5.3% System Time
5.5% CPU Utilization