Filesystem Comparison Benchmarks

This document presents information about filesystems and their test results.

= Overview of the Filesystems =


 * Ext2 was originally released in January 1993.
 * Ext3 adds journalling to Ext2 so that an fsck does not need to be performed during startup in the event of an unclean shutdown.
 * JFS is developed by IBM. JFS is a stable and high performance filesystem that provides fast filesystem restart in the event of a system crash.
 * XFS is a high performance journaling filesystem which originated on the SGI IRIX platform. It can support large files and large filesystems, extended attributes, variable block sizes, is extent based, and makes extensive use of Btrees (directories, extents, free space) to aid both performance and scalability. Also see http://oss.sgi.com/projects/xfs/.

= Benchmark Utillities =

In this section the Bonnie benchmark will be shown. Bonnie is a program that plays with filesystem bottlenecks. At this point with this tests suite can be achieved different sides of the testing filesystem and its bottlenecks. With analysis of the report made by Bonnie it can find out where the filesystem has strong and weak sides.

For an explanation of the numbers below, see bonnie.

= Benchmark Test Results = Creating the filesystem with mkfs.ext2 -b 1024 The used Bonnie options were -s 256. The used mount options for local fs were rw,noexec,nosuid,nodev,user=hydraj.

Ext2 Filesystem with Block Size = 1024
In followed report are included date, mount options, and report from bonnie benchmark. Included are test file size and number of processes used in parallel too.

120 processes
Tue Jan 7 16:56:48 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M 10540  97 27198  19  8403   7  6446  61 33141  16  92.9   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16 1074  98 +++++ +++ +++++ +++  1087  98 +++++ +++  2679  99 hackmachine,256M,10540,97,27198,19,8403,7,6446,61,33141,16,92.9,0,16,1074,98,+++++,+++,+++++,+++,1087,98,+++++,+++,2679,99

JFS Filesystem
Thu Jan 9 14:49:47 EST 2003 /dev/hda6 on / type ext3 (rw) Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M  6767  68  9306   7  4958   3  5417  52 24148   9  82.6   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16  751  92 +++++ +++ +++++ +++   786  92 +++++ +++  1973  92 hackmachine,256M,6767,68,9306,7,4958,3,5417,52,24148,9,82.6,0,16,751,92,+++++,+++,+++++,+++,786,92,+++++,+++,1973,92

120 processes
Thu Jan 9 15:32:07 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M 10602  95 24806  11 11108   5  6269  58 33715  11  97.5   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16 6623  27 +++++ +++  4849  24  3236  39 +++++ +++   224   1 hackmachine,256M,10602,95,24806,11,11108,5,6269,58,33715,11,97.5,0,16,6623,27,+++++,+++,4849,24,3236,39,+++++,+++,224,1

formatting
Used Options : mkfs.xfs /dev/hda1 meta-data=/dev/hda1             isize=256    agcount=8, agsize=95385 blks data    =                       bsize=4096   blocks=763079, imaxpct=25 =                      sunit=0      swidth=0 blks, unwritten=0 naming  =version 2              bsize=4096 log     =internal log           bsize=4096   blocks=1200 realtime =none                  extsz=65536  blocks=0, rtextents=0

benchmarking
Thu Jan 9 16:14:57 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M  9901  90 27556  13  7605   4  8010  72 31801  11  86.8   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16 1268  26  2271   7   655  12  1208  28 11361  32   375   8 hackmachine,256M,9901,90,27556,13,7605,4,8010,72,31801,11,86.8,0,16,1268,26,2271,7,655,12,1208,28,11361,32,375,8

120 processes
Thu Jan 9 16:24:48 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M  3897  37 11415   5  3259   2  4334  43 26406  11  87.0   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16 1475  33 18001  36  1191  22   713  17  3238  12   437  10 hackmachine,256M,3897,37,11415,5,3259,2,4334,43,26406,11,87.0,0,16,1475,33,18001,36,1191,22,713,17,3238,12,437,10

formatting
*********************************************** Used Options : 2 mkfs.xfs -bsize=4096 -bsize=4096 -isize=256 /dev/hda1 *********************************************** Used Options : 2 mkfs.xfs -f -f -dagcount=120 -isize=256 /dev/hda1 meta-data=/dev/hda1             isize=256    agcount=120, agsize=6359 blks data    =                       bsize=4096   blocks=763079, imaxpct=25 =                      sunit=0      swidth=0 blks, unwritten=0 naming  =version 2              bsize=4096 log     =internal log           bsize=4096   blocks=1200 realtime =none                  extsz=65536  blocks=0, rtextents=0 ***********************************************

benchmarking
Thu Jan 9 17:40:37 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M 10694  96 26010  12  9156   5  8086  73 33316  12  94.7   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16 1422  27 +++++ +++  1364  20  1511  29 +++++ +++   450   8 hackmachine,256M,10694,96,26010,12,9156,5,8086,73,33316,12,94.7,0,16,1422,27,+++++,+++,1364,20,1511,29,+++++,+++,450,8

120 processes
Thu Jan 9 17:45:52 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M 10770  97 28078  14 10900   6  6819  64 33178  12  94.9   0 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16 1422  28 +++++ +++  1331  20  1468  29 +++++ +++   437   8 hackmachine,256M,10770,97,28078,14,10900,6,6819,64,33178,12,94.9,0,16,1422,28,+++++,+++,1331,20,1468,29,+++++,+++,437,8

MS-DOS Filesystem with Block Size = 1024
Wed Jan 8 15:21:08 EST 2003 Version 1.02b      --Sequential Output-- --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP hackmachine   256M  8000  75 11596   7  5608  12  5893  56 12691  11  93.7  22 --Sequential Create-- Random Create -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 16   26  99    58  97   305  99    39  93    55  90    53  91 hackmachine,256M,8000,75,11596,7,5608,12,5893,56,12691,11,93.7,22,16,26,99,58,97,305,99,39,93,55,90,53,91

2009-10-07
This test ran on the same computer as the nfs test from 2009-10-07, and allows for comparing smbfs and nfs. Bonnie 1.4: File './Bonnie.31813', size: 268435456, volumes: 1 Writing with putc... done: 42494 kB/s  86.4 %CPU Rewriting... done: 147842 kB/s 35.4 %CPU Writing intelligently... done: 197509 kB/s 43.4 %CPU Reading with getc... done: 52250 kB/s  76.5 %CPU Reading intelligently... done: 2612375 kB/s 99.7 %CPU start 'em...done...done...done... ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)- Machine   MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU   /sec %CPU 1* 256 42494 86.4197509 43.4 147842 35.4 52250 76.52612375 99.7 10830.7 30.3
 * 1) bonnie -s 256

2009-10-07
This test ran on the same computer as the smbfs test from 2009-10-07, and allows for comparing smbfs and nfs. Bonnie 1.4: File './Bonnie.31887', size: 268435456, volumes: 1 Writing with putc... done: 31835 kB/s  40.7 %CPU Rewriting... done: 63847 kB/s   9.0 %CPU Writing intelligently... done: 51256 kB/s   4.8 %CPU Reading with getc... done: 82025 kB/s 100.0 %CPU Reading intelligently... done: 3003001 kB/s 100.8 %CPU Seeker 1...Seeker 3...Seeker 2...start 'em...done...done...done... ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)- Machine   MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU   /sec %CPU tweedl 1* 256 31835 40.7 51256 4.8 63847  9.0 82025  1003003001  101 8961.9 12.5
 * 1) bonnie -s 256

2009-10-08
This test ran on the same computer as the smbfs test from 2009-10-07, and allows for determining the network overhead. Bonnie 1.4: File './Bonnie.23294', size: 268435456, volumes: 1 Writing with putc... done: 63279 kB/s  95.1 %CPU Rewriting... done: 1208710 kB/s 99.6 %CPU Writing intelligently... done: 420375 kB/s 85.3 %CPU Reading with getc... done: 77738 kB/s 100.0 %CPU Reading intelligently... done: 2756132 kB/s 100.9 %CPU Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done... ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)- Machine   MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU   /sec %CPU tweedl 1* 256 63279 95.1420375 85.3 1208710 99.6 77738 1002756132  101 7136.8  9.3
 * 1) bonnie -s 256

= See also =
 * benchmarks