EXT4, XFS and ZFS comparison
Many servers are running linux with two mirrored harddisks (RAID-1) to prevent data loss in case of a disk failure. We looked into the performance of popular filesystems with this configuration.
The following components were used for the test:
- CentOS 8.1 / kernel 4.18.0-147.5.1.el8_1.x86_64
- Two mirrored disks (RAID-1) for every filesystems:
- Model Family: HGST Travelstar 5K1000
- Device Model: HGST HTE541010A9E680
- User Capacity: 1,000,204,886,016 bytes [1.00 TB]
- Sector Sizes: 512 bytes logical, 4096 bytes physical
- Rotation Rate: 5400 rpm
- Form Factor: 2.5 inches
Create a ZFS filesystem
[root@fstest ~]# zpool create -f -o ashift=12 -m /zfspool zfspool \ mirror ata-HGST_HTE541010A9E680_J540001MJGTEXC ata-HGST_HTE541010A9E680_J5400013JZ6NAC [root@fstest ~]# zpool status -v pool: zfspool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zfspool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-HGST_HTE541010A9E680_J540001MJGTEXC ONLINE 0 0 0 ata-HGST_HTE541010A9E680_J5400013JZ6NAC ONLINE 0 0 0 NAME PROPERTY VALUE SOURCE zfspool type filesystem - zfspool available 899G - zfspool compressratio 1.00x - zfspool quota none default zfspool reservation none default zfspool recordsize 128K default
Create an EXT4 filesystem
[root@fstest ~]# mkfs.ext4 /dev/md0 mke2fs 1.44.3 (10-July-2018) Creating filesystem with 244157360 4k blocks and 61046784 inodes Filesystem UUID: d592518f-30d6-43f5-8b8a-3852c0c4fbb4 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
Create a XFS filesystem
[root@fstest ~]# mkfs.xfs /dev/md1 meta-data=/dev/md1 isize=512 agcount=4, agsize=61039340 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=244157360, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=119217, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Tests using bonnie++
More information about bonnie++ can be found at Wikipedia: Bonnie++
In this test bonnie++ writes 128 GB data to the disks because the server has 64 GB RAM. This will minimize caching effects.
ZFS (version 0.8.3)
Version 1.98 | Sequential Output | Sequential Input | Random Seeks | Sequential Create | Random Create | |||||||||||||||||||||||
Size | Per Char | Block | Rewrite | Per Char | Block | Num Files | Create | Read | Delete | Create | Read | Delete | ||||||||||||||||
M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | |||||
# | 126G | 123 | 99 | 73 | 16 | 36 | 9 | 255 | 99 | 122 | 13 | 113.9 | 5 | 16 | 4966 | 92 | +++++ | +++ | 1524 | 15 | 5059 | 92 | +++++ | +++ | 1237 | 13 | ||
Latency | 64300us | 13486ms | 21657ms | 65773us | 3948ms | 408ms | Latency | 3486us | 1152us | 3105ms | 3541us | 23us | 3762ms |
EXT4 (mdraid / raid 1)
Version 1.98 | Sequential Output | Sequential Input | Random Seeks | Sequential Create | Random Create | |||||||||||||||||||||||
Size | Per Char | Block | Rewrite | Per Char | Block | Num Files | Create | Read | Delete | Create | Read | Delete | ||||||||||||||||
M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | |||||
# | 126G | 424 | 97 | 90 | 12 | 39 | 4 | 958 | 93 | 100 | 5 | 346.1 | 5 | 16 | 12255 | 36 | +++++ | +++ | +++++ | +++ | 23530 | 68 | +++++ | +++ | +++++ | ++ | ||
Latency | 18630us | 8545ms | 1140ms | 42759us | 289ms | 836ms | Latency | 326us | 496us | 1211us | 266us | 12us | 2516us |
XFS (mdraid / raid 1)
Version 1.98 | Sequential Output | Sequential Input | Random Seeks | Sequential Create | Random Create | |||||||||||||||||||||||
Size | Per Char | Block | Rewrite | Per Char | Block | Num Files | Create | Read | Delete | Create | Read | Delete | ||||||||||||||||
M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | M/sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | /sec | % CPU | |||||
# | 126G | 651 | 85 | 79 | 6 | 38 | 4 | 896 | 94 | 105 | 5 | 232.6 | 27 | 16 | 7873 | 38 | +++++ | +++ | 12755 | 31 | 8304 | 40 | +++++ | +++ | 12830 | 33 | ||
Latency | 10684us | 18498us | 4093ms | 23959us | 176ms | 112ms | Latency | 464us | 158us | 212us | 290us | 15us | 184us |
Tests using fio - 16KB blocksize
See fio (flexible I/O tester) documentation at hier.
Random read/write, 70% read, 30% write, 16 KB blocksize, direct-IO
fio --name=randrw --rw=randrw --direct=1 --ioengine=libaio --bs=16k --numjobs=8 --rwmixread=70 --size=1G --runtime=600 --group_reporting
fio --name=randrw --rw=randrw --direct=1 --ioengine=libaio --bs=16k --numjobs=8 --rwmixread=70 --size=1G --runtime=600 --group_reporting
ZFS 〉 70% read 〉 30% write 〉 16KB blocksize
read: IOPS=706, BW=11.0MiB/s (11.6MB/s)(5731MiB/519310msec) write: IOPS=303, BW=4852KiB/s (4969kB/s)(2461MiB/519310msec) Run status group 0 (all jobs): READ: bw=11.0MiB/s (11.6MB/s), 11.0MiB/s-11.0MiB/s (11.6MB/s-11.6MB/s), io=5731MiB (6010MB), run=519310-519310msec WRITE: bw=4852KiB/s (4969kB/s), 4852KiB/s-4852KiB/s (4969kB/s-4969kB/s), io=2461MiB (2580MB), run=519310-519310msec
EXT4 - 〉 70% read 〉 30% write 〉 16KB blocksize
read: IOPS=132, BW=2127KiB/s (2178kB/s)(1247MiB/600427msec) write: IOPS=57, BW= 913KiB/s ( 935kB/s)( 535MiB/600427msec) Run status group 0 (all jobs): READ: bw=2127KiB/s (2178kB/s), 2127KiB/s-2127KiB/s (2178kB/s-2178kB/s), io=1247MiB (1307MB), run=600427-600427msec WRITE: bw=913KiB/s (935kB/s), 913KiB/s-913KiB/s (935kB/s-935kB/s), io=535MiB (561MB), run=600427-600427msec Disk stats (read/write): md0: ios=79802/34639, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=39901/35743, aggrmerge=0/134, aggrticks=1519734/631509, aggrin_queue=2119860, aggrutil=15.01% sde: ios=16184/35743, merge=0/134, ticks=205446/139020, in_queue=327748, util=8.74% sdc: ios=63618/35743, merge=0/134, ticks=2834022/1123998, in_queue=3911973, util=15.01%
XFS - 〉 70% read 〉 30% write 〉 16KB blocksize
read: IOPS=104, BW=1680KiB/s (1720kB/s)(984MiB/600108msec) write: IOPS=45, BW=727KiB/s ( 745kB/s)(426MiB/600108msec) Run status group 0 (all jobs): READ: bw=1680KiB/s (1720kB/s), 1680KiB/s-1680KiB/s (1720kB/s-1720kB/s), io=984MiB (1032MB), run=600108-600108msec WRITE: bw=727KiB/s (745kB/s), 727KiB/s-727KiB/s (745kB/s-745kB/s), io=426MiB (447MB), run=600108-600108msec Disk stats (read/write): md1: ios=63000/27327, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=31500/28345, aggrmerge=0/3, aggrticks=813483/586447, aggrin_queue=1375129, aggrutil=12.18% sdg: ios=13054/28345, merge=0/4, ticks=146353/101802, in_queue=235378, util=7.11% sdf: ios=49946/28346, merge=0/3, ticks=1480614/1071093, in_queue=2514880, util=12.18%
Tests using fio - 128KB blocksize
Random read/write, 70% read, 30% write, 128 KB blocksize, Direct-IO
fio --name=randrw --rw=randrw --direct=1 --ioengine=libaio --bs=128k --numjobs=8 --rwmixread=70 --size=1G --runtime=600 --group_reporting
fio --name=randrw --rw=randrw --direct=1 --ioengine=libaio --bs=128k --numjobs=8 --rwmixread=70 --size=1G --runtime=600 --group_reporting
ZFS 〉 70% read 〉 30% write 〉 128KB blocksize 〉 128 GB Daten
[root@fstest fio]# fio --name=randrw --rw=randrw --direct=0 --ioengine=libaio --bs=128k --numjobs=8 \ --rwmixread=70 --size=16G --runtime=600 --group_reporting randrw: (g=0): rw=randrw, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=libaio, iodepth=1 ... fio-3.7 Starting 8 processes randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) Jobs: 8 (f=8): [m(8)][100.0%][r=15.1MiB/s,w=4736KiB/s][r=121,w=37 IOPS][eta 00m:00s] randrw: (groupid=0, jobs=8): err= 0: pid=25652: Mon Mar 23 00:31:15 2020 read: IOPS=101, BW=12.6MiB/s (13.2MB/s)(7581MiB/600088msec) slat (usec): min=35, max=981460, avg=78730.98, stdev=66695.87 clat (nsec): min=1428, max=37411, avg=3757.49, stdev=1925.39 lat (usec): min=37, max=981466, avg=78736.05, stdev=66696.27 clat percentiles (nsec): | 1.00th=[ 1768], 5.00th=[ 3152], 10.00th=[ 3216], 20.00th=[ 3248], | 30.00th=[ 3312], 40.00th=[ 3344], 50.00th=[ 3376], 60.00th=[ 3408], | 70.00th=[ 3472], 80.00th=[ 3728], 90.00th=[ 4256], 95.00th=[ 4896], | 99.00th=[16512], 99.50th=[17024], 99.90th=[18048], 99.95th=[20608], | 99.99th=[27520] bw ( KiB/s): min= 255, max= 7424, per=12.52%, avg=1618.84, stdev=922.75, samples=9588 iops : min= 1, max= 58, avg=12.61, stdev= 7.21, samples=9588 write: IOPS=43, BW=5579KiB/s (5713kB/s)(3269MiB/600088msec) slat (usec): min=51, max=336266, avg=958.61, stdev=10476.92 clat (nsec): min=1572, max=23886, avg=1981.22, stdev=629.80 lat (usec): min=53, max=336271, avg=961.20, stdev=10477.13 clat percentiles (nsec): | 1.00th=[ 1672], 5.00th=[ 1736], 10.00th=[ 1784], 20.00th=[ 1832], | 30.00th=[ 1864], 40.00th=[ 1896], 50.00th=[ 1928], 60.00th=[ 1960], | 70.00th=[ 1992], 80.00th=[ 2024], 90.00th=[ 2096], 95.00th=[ 2160], | 99.00th=[ 3376], 99.50th=[ 3664], 99.90th=[12736], 99.95th=[14144], | 99.99th=[18304] bw ( KiB/s): min= 255, max= 5120, per=15.22%, avg=848.86, stdev=612.50, samples=7887 iops : min= 1, max= 40, avg= 6.60, stdev= 4.79, samples=7887 lat (usec) : 2=24.28%, 4=65.70%, 10=8.45%, 20=1.53%, 50=0.04% cpu : usr=0.02%, sys=0.15%, ctx=59928, majf=0, minf=142 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=60644,26155,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1 Run status group 0 (all jobs): READ: bw=12.6MiB/s (13.2MB/s), 12.6MiB/s-12.6MiB/s (13.2MB/s-13.2MB/s), io=7581MiB (7949MB), run=600088-600088msec WRITE: bw=5579KiB/s (5713kB/s), 5579KiB/s-5579KiB/s (5713kB/s-5713kB/s), io=3269MiB (3428MB), run=600088-600088msec
EXT4 〉 70% read 〉 30% write 〉 128KB blocksize 〉 128 GB Daten
[root@fstest fio]# fio --name=randrw --rw=randrw --direct=0 --ioengine=libaio --bs=128k --numjobs=8 \ --rwmixread=70 --size=16G --runtime=600 --group_reporting randrw: (g=0): rw=randrw, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=libaio, iodepth=1 ... fio-3.7 Starting 8 processes randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) Jobs: 8 (f=8): [m(8)][100.0%][r=12.0MiB/s,w=5381KiB/s][r=96,w=42 IOPS][eta 00m:00s] randrw: (groupid=0, jobs=8): err= 0: pid=11169: Mon Mar 23 00:29:37 2020 read: IOPS=115, BW=14.5MiB/s (15.2MB/s)(8671MiB/600062msec) slat (usec): min=554, max=610323, avg=68985.35, stdev=55557.33 clat (nsec): min=1964, max=131469, avg=4047.76, stdev=1586.81 lat (usec): min=558, max=610332, avg=68990.75, stdev=55557.73 clat percentiles (nsec): | 1.00th=[ 2448], 5.00th=[ 3312], 10.00th=[ 3504], 20.00th=[ 3568], | 30.00th=[ 3600], 40.00th=[ 3632], 50.00th=[ 3696], 60.00th=[ 3728], | 70.00th=[ 3824], 80.00th=[ 4128], 90.00th=[ 4704], 95.00th=[ 5728], | 99.00th=[12224], 99.50th=[13632], 99.90th=[17792], 99.95th=[20096], | 99.99th=[28032] bw ( KiB/s): min= 255, max=12032, per=12.50%, avg=1849.42, stdev=1184.94, samples=9600 iops : min= 1, max= 94, avg=14.39, stdev= 9.26, samples=9600 write: IOPS=49, BW=6391KiB/s (6544kB/s)(3745MiB/600062msec) slat (usec): min=77, max=160148, avg=408.05, stdev=4833.27 clat (nsec): min=1317, max=30439, avg=1817.31, stdev=631.19 lat (usec): min=78, max=160153, avg=410.31, stdev=4833.45 clat percentiles (nsec): | 1.00th=[ 1448], 5.00th=[ 1512], 10.00th=[ 1560], 20.00th=[ 1640], | 30.00th=[ 1704], 40.00th=[ 1736], 50.00th=[ 1768], 60.00th=[ 1816], | 70.00th=[ 1848], 80.00th=[ 1880], 90.00th=[ 1960], 95.00th=[ 2064], | 99.00th=[ 2960], 99.50th=[ 3920], 99.90th=[12480], 99.95th=[13248], | 99.99th=[16320] bw ( KiB/s): min= 255, max= 6400, per=14.52%, avg=928.03, stdev=720.88, samples=8263 iops : min= 1, max= 50, avg= 7.19, stdev= 5.64, samples=8263 lat (usec) : 2=28.10%, 4=56.05%, 10=14.52%, 20=1.30%, 50=0.04% lat (usec) : 250=0.01% cpu : usr=0.02%, sys=0.22%, ctx=69859, majf=0, minf=140 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=69371,29959,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1 Run status group 0 (all jobs): READ: bw=14.5MiB/s (15.2MB/s), 14.5MiB/s-14.5MiB/s (15.2MB/s-15.2MB/s), io=8671MiB (9093MB), run=600062-600062msec WRITE: bw=6391KiB/s (6544kB/s), 6391KiB/s-6391KiB/s (6544kB/s-6544kB/s), io=3745MiB (3927MB), run=600062-600062msec Disk stats (read/write): md0: ios=69368/30275, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=34685/30086, aggrmerge=0/231, aggrticks=2384338/888440, aggrin_queue=3240162, aggrutil=12.18% sde: ios=33255/30064, merge=0/250, ticks=2043693/809189, in_queue=2821071, util=11.65% sdc: ios=36116/30109, merge=0/212, ticks=2724983/967692, in_queue=3659254, util=12.18%
XFS 〉 70% read 〉 30% write 〉 128KB blocksize 〉 128 GB Daten
[root@fstest fio]# fio --name=randrw --rw=randrw --direct=0 --ioengine=libaio --bs=128k --numjobs=8 \ --rwmixread=70 --size=16G --runtime=600 --group_reporting randrw: (g=0): rw=randrw, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=libaio, iodepth=1 ... fio-3.7 Starting 8 processes randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) randrw: Laying out IO file (1 file / 16384MiB) Jobs: 8 (f=8): [m(8)][100.0%][r=23.4MiB/s,w=8840KiB/s][r=187,w=69 IOPS][eta 00m:00s] randrw: (groupid=0, jobs=8): err= 0: pid=10376: Mon Mar 23 00:42:49 2020 read: IOPS=113, BW=14.2MiB/s (14.9MB/s)(8535MiB/600059msec) slat (usec): min=624, max=673486, avg=70227.61, stdev=61519.31 clat (nsec): min=2109, max=24242, avg=3674.62, stdev=865.32 lat (usec): min=628, max=673491, avg=70232.37, stdev=61519.33 clat percentiles (nsec): | 1.00th=[ 3408], 5.00th=[ 3440], 10.00th=[ 3472], 20.00th=[ 3504], | 30.00th=[ 3536], 40.00th=[ 3568], 50.00th=[ 3600], 60.00th=[ 3600], | 70.00th=[ 3632], 80.00th=[ 3664], 90.00th=[ 3728], 95.00th=[ 3760], | 99.00th=[ 6112], 99.50th=[10816], 99.90th=[16768], 99.95th=[17792], | 99.99th=[21632] bw ( KiB/s): min= 256, max=12288, per=12.50%, avg=1820.82, stdev=1244.41, samples=9598 iops : min= 2, max= 96, avg=14.18, stdev= 9.72, samples=9598 write: IOPS=49, BW=6280KiB/s (6431kB/s)(3680MiB/600059msec) slat (usec): min=63, max=409, avg=82.03, stdev=10.00 clat (nsec): min=1297, max=26489, avg=1801.48, stdev=555.07 lat (usec): min=65, max=443, avg=84.24, stdev=10.29 clat percentiles (nsec): | 1.00th=[ 1432], 5.00th=[ 1480], 10.00th=[ 1512], 20.00th=[ 1576], | 30.00th=[ 1704], 40.00th=[ 1768], 50.00th=[ 1816], 60.00th=[ 1848], | 70.00th=[ 1880], 80.00th=[ 1928], 90.00th=[ 1976], 95.00th=[ 2024], | 99.00th=[ 2160], 99.50th=[ 2256], 99.90th=[12992], 99.95th=[14400], | 99.99th=[17536] bw ( KiB/s): min= 255, max= 7680, per=14.84%, avg=931.85, stdev=738.46, samples=8087 iops : min= 1, max= 60, avg= 7.23, stdev= 5.77, samples=8087 lat (usec) : 2=27.83%, 4=71.05%, 10=0.64%, 20=0.46%, 50=0.02% cpu : usr=0.02%, sys=0.19%, ctx=68315, majf=0, minf=187 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwts: total=68283,29441,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1 Run status group 0 (all jobs): READ: bw=14.2MiB/s (14.9MB/s), 14.2MiB/s-14.2MiB/s (14.9MB/s-14.9MB/s), io=8535MiB (8950MB), run=600059-600059msec WRITE: bw=6280KiB/s (6431kB/s), 6280KiB/s-6280KiB/s (6431kB/s-6431kB/s), io=3680MiB (3859MB), run=600059-600059msec Disk stats (read/write): md1: ios=68410/23675, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=34141/23760, aggrmerge=63/27, aggrticks=2395357/744590, aggrin_queue=3110750, aggrutil=11.10% sdg: ios=34611/23754, merge=64/34, ticks=2398039/710562, in_queue=3079169, util=11.10% sdf: ios=33672/23767, merge=63/20, ticks=2392676/778618, in_queue=3142332, util=10.98%
Tests using Perl
Creating 100.000 files with 4KB and 128KB size with a simple perl script.
The first column shows how many files were written in total, the second column shows how long it took to write and the third column how long the final sync (writing cache to disk) needed.
# datasize: 4k ------------------------- # ext4 file_create 100000 write: 16592.003/sec, write/6.027 secs, write_sync/7.022 secs rewrite: 9100.009/sec, rewrite/10.989 secs, rewrite_sync/0.524 secs read: 38387.716/sec, read/2.605 secs, read_sync/0.817 secs delete: 28161.081/sec, delete/3.551 secs, delete_sync/0.951 secs # xfs file_create 100000 write: 10093.873/sec, write/9.907 secs, write_sync/14.865 secs rewrite: 8312.552/sec, rewrite/12.030 secs, rewrite_sync/8.461 secs read: 35880.875/sec, read/2.787 secs, read_sync/6.708 secs delete: 7859.781/sec, delete/12.723 secs, delete_sync/6.815 secs # zfs file_create 100000 write: 4301.075/sec, write/23.250 secs, write_sync/7.250 secs rewrite: 1630.683/sec, rewrite/61.324 secs, rewrite_sync/1.212 secs read: 29770.765/sec, read/3.359 secs, read_sync/0.018 secs delete: 2045.073/sec, delete/48.898 secs, delete_sync/0.143 secs
# datasize: 128k ------------------------- # ext4 file_create 100000 write: 1185.579/sec, write/84.347 secs, write_sync/181.638 secs rewrite: 625.403/sec, rewrite/159.897 secs, rewrite_sync/0.263 secs read: 10447.137/sec, read/9.572 secs, read_sync/0.431 secs delete: 17721.070/sec, delete/5.643 secs, delete_sync/0.829 secs # xfs file_create 100000 write: 4438.132/sec, write/22.532 secs, write_sync/179.358 secs rewrite: 433.937/sec, rewrite/230.448 secs, rewrite_sync/6.740 secs read: 9834.776/sec, read/10.168 secs, read_sync/5.795 secs delete: 4660.918/sec, delete/21.455 secs, delete_sync/0.591 secs # zfs file_create 100000 write: 356.019/sec, write/280.884 secs, write_sync/103.739 secs rewrite: 433.661/sec, rewrite/230.595 secs, rewrite_sync/103.261 secs read: 181.663/sec, read/550.469 secs, read_sync/0.005 secs delete: 1975.075/sec, delete/50.631 secs, delete_sync/5.093 secs