F2FSを測ってみた

新しいmicroSDに容量15GB程度のパーティション切って、ext4かF2FSでフォーマットした。USBのmicroSDリーダーを使い、Raspberry Pi 3上のarchlinux armでfioを実行した。結果は以下の通り。

結果

ext4

  1. IOPS=337, BW=1350KiB/s
  2. IOPS=348, BW=1392KiB/s

F2FS

  1. IOPS=695, BW=2781KiB/s
  2. IOPS=644, BW=2579KiB/s
[akimasa@alarmpi ~]$ sudo mkfs.ext4 /dev/sda2 mke2fs 1.44.5 (15-Dec-2018) Creating filesystem with 3786752 4k blocks and 948416 inodes Filesystem UUID: db43a860-db0f-40dd-8aac-f8c6b978dd60 Superblock backups stored on blocks:         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done [akimasa@alarmpi ~]$ mount /dev/sda2 mountpoint/ mount: only root can do that [akimasa@alarmpi ~]$ sudo mount /dev/sda2 mountpoint/ [akimasa@alarmpi ~]$ cd mountpoint/ [akimasa@alarmpi mountpoint]$ sudo fio -filename=./testtmp -direct=1 -rw=randwrite -bs=4k -size=1000M -numjobs=16 -runtime=20 -group_reporting -name=file1 file1: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1 … fio-3.13 Starting 16 processes file1: Laying out IO file (1 file / 1000MiB) Jobs: 16 (f=16): [w(16)][100.0%][w=664KiB/s][w=166 IOPS][eta 00m:00s] file1: (groupid=0, jobs=16): err= 0: pid=2528: Mon Mar 11 15:49:01 2019   write: IOPS=337, BW=1350KiB/s (1382kB/s)(26.4MiB/20034msec); 0 zone resets     clat (usec): min=1185, max=1532.3k, avg=47337.89, stdev=86609.63      lat (usec): min=1189, max=1532.3k, avg=47341.86, stdev=86609.70     clat percentiles (msec):      |  1.00th=[   28],  5.00th=[   30], 10.00th=[   31], 20.00th=[   31],      | 30.00th=[   32], 40.00th=[   32], 50.00th=[   33], 60.00th=[   34],      | 70.00th=[   34], 80.00th=[   35], 90.00th=[   68], 95.00th=[   92],      | 99.00th=[  326], 99.50th=[  584], 99.90th=[ 1435], 99.95th=[ 1502],      | 99.99th=[ 1536]    bw (  KiB/s): min=  127, max= 2064, per=100.00%, avg=1433.52, stdev=37.13, samples=602    iops        : min=   31, max=  516, avg=357.70, stdev= 9.29, samples=602   lat (msec)   : 2=0.31%, 4=0.03%, 10=0.04%, 20=0.06%, 50=85.73%   lat (msec)   : 100=9.35%, 250=2.90%, 500=1.05%, 750=0.07%, 1000=0.09%   cpu          : usr=0.07%, sys=1.04%, ctx=13585, majf=0, minf=282   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=0,6761,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):   WRITE: bw=1350KiB/s (1382kB/s), 1350KiB/s-1350KiB/s (1382kB/s-1382kB/s), io=26.4MiB (27.7MB), run=20034-20034msec Disk stats (read/write):   sda: ios=0/6961, merge=0/188, ticks=0/24691, in_queue=24620, util=91.29% [akimasa@alarmpi mountpoint]$ sudo fio -filename=./testtmp -direct=1 -rw=randwrite -bs=4k -size=1000M -numjobs=16 -runtime=20 -group_reporting -name=file1 file1: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1 … fio-3.13 Starting 16 processes Jobs: 16 (f=16): [w(16)][100.0%][w=1212KiB/s][w=303 IOPS][eta 00m:00s] file1: (groupid=0, jobs=16): err= 0: pid=2547: Mon Mar 11 15:49:25 2019   write: IOPS=348, BW=1392KiB/s (1426kB/s)(27.6MiB/20313msec); 0 zone resets     clat (usec): min=1181, max=2296.1k, avg=45784.22, stdev=113933.76      lat (usec): min=1185, max=2296.1k, avg=45788.25, stdev=113933.93     clat percentiles (msec):      |  1.00th=[   22],  5.00th=[   27], 10.00th=[   27], 20.00th=[   28],      | 30.00th=[   29], 40.00th=[   29], 50.00th=[   29], 60.00th=[   31],      | 70.00th=[   31], 80.00th=[   32], 90.00th=[   42], 95.00th=[   73],      | 99.00th=[  489], 99.50th=[  776], 99.90th=[ 1888], 99.95th=[ 2106],      | 99.99th=[ 2299]    bw (  KiB/s): min=  128, max= 2327, per=100.00%, avg=1623.82, stdev=40.57, samples=556    iops        : min=   32, max=  581, avg=405.26, stdev=10.13, samples=556   lat (msec)   : 2=0.35%, 4=0.11%, 10=0.04%, 20=0.11%, 50=90.14%   lat (msec)   : 100=5.49%, 250=1.91%, 500=0.86%, 750=0.45%, 1000=0.11%   cpu          : usr=0.08%, sys=0.46%, ctx=14162, majf=0, minf=305   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=0,7070,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):   WRITE: bw=1392KiB/s (1426kB/s), 1392KiB/s-1392KiB/s (1426kB/s-1426kB/s), io=27.6MiB (28.0MB), run=20313-20313msec Disk stats (read/write):   sda: ios=0/7279, merge=0/8, ticks=0/27596, in_queue=27660, util=96.94% [akimasa@alarmpi mountpoint]$ cd [akimasa@alarmpi ~]$ sudo umount /home/akimasa/mountpoint [akimasa@alarmpi ~]$ sudo mkfs.f2fs -f /dev/sda2 F2FS-tools: mkfs.f2fs Ver: 1.12.0 (2018-11-21) Info: Disable heap-based policy Info: Debug level = 0 Info: Trim is enabled Info: [/dev/sda2] Disk Model: SD  Transcend Info: Segments per section = 1 Info: Sections per zone = 1 Info: sector size = 512 Info: total sectors = 30294016 (14792 MB) Info: zone aligned segment0 blkaddr: 512 Info: format version with   "Linux version 4.19.25-2-ARCH (builduser@leming) (gcc version 8.2.1 20181127 (GCC)) #1 SMP PREEMPT Tue Feb 26 01:20:52 UTC 2019" Info: [/dev/sda2] Discarding device Info: This device doesn't support BLKSECDISCARD Info: This device doesn't support BLKDISCARD Info: Overprovision ratio = 1.650% Info: Overprovision segments = 248 (GC reserved = 129) Info: format successful [akimasa@alarmpi ~]$ sudo mount /dev/sda2 mountpoint/ [akimasa@alarmpi ~]$ cd mountpoint/ [akimasa@alarmpi mountpoint]$ sudo fio -filename=./testtmp -direct=1 -rw=randwrite -bs=4k -size=1000M -numjobs=16 -runtime=20 -group_reporting -name=file1 file1: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1 … fio-3.13 Starting 16 processes file1: Laying out IO file (1 file / 1000MiB) Jobs: 16 (f=16): [w(16)][100.0%][w=1309KiB/s][w=327 IOPS][eta 00m:00s] file1: (groupid=0, jobs=16): err= 0: pid=2588: Mon Mar 11 15:50:39 2019   write: IOPS=695, BW=2781KiB/s (2848kB/s)(54.4MiB/20021msec); 0 zone resets     clat (usec): min=1089, max=422480, avg=22966.77, stdev=15612.63      lat (usec): min=1093, max=422484, avg=22970.51, stdev=15612.67     clat percentiles (msec):      |  1.00th=[   18],  5.00th=[   19], 10.00th=[   19], 20.00th=[   20],      | 30.00th=[   20], 40.00th=[   21], 50.00th=[   21], 60.00th=[   21],      | 70.00th=[   21], 80.00th=[   23], 90.00th=[   24], 95.00th=[   40],      | 99.00th=[   69], 99.50th=[   86], 99.90th=[  300], 99.95th=[  372],      | 99.99th=[  397]    bw (  KiB/s): min=  568, max= 3408, per=99.98%, avg=2779.55, stdev=44.26, samples=640    iops        : min=  142, max=  852, avg=693.95, stdev=11.07, samples=640   lat (msec)   : 2=0.39%, 4=0.02%, 10=0.01%, 20=37.73%, 50=57.36%   lat (msec)   : 100=4.10%, 250=0.28%, 500=0.11%   cpu          : usr=0.12%, sys=0.95%, ctx=27860, majf=0, minf=310   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=0,13919,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):   WRITE: bw=2781KiB/s (2848kB/s), 2781KiB/s-2781KiB/s (2848kB/s-2848kB/s), io=54.4MiB (57.0MB), run=20021-20021msec Disk stats (read/write):   sda: ios=0/13763, merge=0/0, ticks=0/18738, in_queue=18730, util=94.04% [akimasa@alarmpi mountpoint]$ sudo fio -filename=./testtmp -direct=1 -rw=randwrite -bs=4k -size=1000M -numjobs=16 -runtime=20 -group_reporting -name=file1 file1: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1 … fio-3.13 Starting 16 processes Jobs: 16 (f=16): [w(16)][100.0%][w=2116KiB/s][w=529 IOPS][eta 00m:00s] file1: (groupid=0, jobs=16): err= 0: pid=2607: Mon Mar 11 15:51:04 2019   write: IOPS=644, BW=2579KiB/s (2641kB/s)(51.4MiB/20388msec); 0 zone resets     clat (usec): min=1091, max=855416, avg=24717.84, stdev=36849.00      lat (usec): min=1095, max=855420, avg=24721.44, stdev=36849.03     clat percentiles (msec):      |  1.00th=[   19],  5.00th=[   19], 10.00th=[   19], 20.00th=[   20],      | 30.00th=[   20], 40.00th=[   21], 50.00th=[   21], 60.00th=[   21],      | 70.00th=[   22], 80.00th=[   23], 90.00th=[   23], 95.00th=[   25],      | 99.00th=[  108], 99.50th=[  262], 99.90th=[  592], 99.95th=[  844],      | 99.99th=[  852]    bw (  KiB/s): min=  149, max= 3296, per=100.00%, avg=2625.05, stdev=56.50, samples=640    iops        : min=   35, max=  824, avg=655.40, stdev=14.14, samples=640   lat (msec)   : 2=0.34%, 4=0.04%, 10=0.04%, 20=37.87%, 50=57.97%   lat (msec)   : 100=2.59%, 250=0.63%, 500=0.31%, 750=0.13%, 1000=0.08%   cpu          : usr=0.14%, sys=0.81%, ctx=26326, majf=0, minf=298   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=0,13147,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):   WRITE: bw=2579KiB/s (2641kB/s), 2579KiB/s-2579KiB/s (2641kB/s-2641kB/s), io=51.4MiB (53.8MB), run=20388-20388msec Disk stats (read/write):   sda: ios=0/13141, merge=0/0, ticks=0/19400, in_queue=19470, util=95.13% [akimasa@alarmpi mountpoint]$

No comments yet