The Flexible Filesystem Benchmark is a crossplatform multithreaded performance test for your filesystem. It is easly customizable by specifying workloads.
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>
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