続・discardオプション追試
経緯と前回までの記事リンク
discardオプションの影響を試そうとしたがxfsとext4で実施しており比較として成立していなかった
再フォーマットからdiscardでマウント
- mkfs.ext4
[comicsong@comicsong fio]$ sudo /sbin/mkfs.ext4 /dev/sda1 mke2fs 1.42.9 (28-Dec-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 15630336 inodes, 62514432 blocks 3125721 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2210398208 1908 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
- discardを有効にしてマウント
[comicsong@comicsong fio]$ sudo mount -t ext4 -o noatime,discard /dev/sda1 /mnt/SSD/ [comicsong@comicsong fio]$ sudo mkdir -p /mnt/SSD/fio/tmp/ [comicsong@comicsong fio]$ sudo chmod 757 /mnt/SSD/fio/tmp/ [comicsong@comicsong fio]$ mount | grep sda /dev/sda1 on /mnt/SSD type ext4 (rw,noatime,discard,data=ordered)
- テスト実施。
for TEST in read write readwrite randread randwrite randrw do for NUM in {1..5} do echo -n "${TEST}_${NUM} :" fio fio.ini -rw ${TEST} | tee -a /home/comicsong/fio/ext4_discard_off.log | grep "iops=" /bin/rm -r /mnt/SSD/fio/tmp/* done echo "----------------------" done
discard有効
read_1 : read : io=8095.2MB, bw=92103KB/s, iops=23025, runt= 90002msec read_2 : read : io=10819MB, bw=123091KB/s, iops=30772, runt= 90001msec read_3 : read : io=9011.8MB, bw=102531KB/s, iops=25632, runt= 90002msec read_4 : read : io=11142MB, bw=126769KB/s, iops=31692, runt= 90001msec read_5 : read : io=10866MB, bw=123633KB/s, iops=30908, runt= 90002msec ---------------------- write_1 : write: io=9768.2MB, bw=111148KB/s, iops=27787, runt= 90001msec write_2 : write: io=9837.6MB, bw=111923KB/s, iops=27980, runt= 90001msec write_3 : write: io=9809.2MB, bw=111603KB/s, iops=27900, runt= 90002msec write_4 : write: io=9856.8MB, bw=112145KB/s, iops=28036, runt= 90002msec write_5 : write: io=9809.3MB, bw=111607KB/s, iops=27901, runt= 90001msec ---------------------- readwrite_1 : read : io=984416KB, bw=10937KB/s, iops=2734, runt= 90009msec write: io=985968KB, bw=10954KB/s, iops=2738, runt= 90009msec readwrite_2 : read : io=993972KB, bw=11042KB/s, iops=2760, runt= 90017msec write: io=996060KB, bw=11065KB/s, iops=2766, runt= 90017msec readwrite_3 : read : io=985148KB, bw=10945KB/s, iops=2736, runt= 90007msec write: io=986692KB, bw=10962KB/s, iops=2740, runt= 90007msec readwrite_4 : read : io=990192KB, bw=11001KB/s, iops=2750, runt= 90007msec write: io=991952KB, bw=11021KB/s, iops=2755, runt= 90007msec readwrite_5 : read : io=989020KB, bw=10988KB/s, iops=2747, runt= 90007msec write: io=990728KB, bw=11007KB/s, iops=2751, runt= 90007msec ---------------------- randread_1 : read : io=11104MB, bw=126339KB/s, iops=31584, runt= 90001msec randread_2 : read : io=11109MB, bw=126396KB/s, iops=31599, runt= 90001msec randread_3 : read : io=11099MB, bw=126279KB/s, iops=31569, runt= 90001msec randread_4 : read : io=11100MB, bw=126292KB/s, iops=31572, runt= 90001msec randread_5 : read : io=11101MB, bw=126299KB/s, iops=31574, runt= 90002msec ---------------------- randwrite_1 : write: io=9887.9MB, bw=112499KB/s, iops=28124, runt= 90002msec randwrite_2 : write: io=9938.8MB, bw=113070KB/s, iops=28267, runt= 90002msec randwrite_3 : write: io=9940.5MB, bw=113097KB/s, iops=28274, runt= 90002msec randwrite_4 : write: io=9931.4MB, bw=112994KB/s, iops=28248, runt= 90002msec randwrite_5 : write: io=9897.5MB, bw=112609KB/s, iops=28152, runt= 90002msec ---------------------- randrw_1 : read : io=1029.6MB, bw=11711KB/s, iops=2927, runt= 90023msec write: io=1030.7MB, bw=11724KB/s, iops=2930, runt= 90023msec randrw_2 : read : io=1022.8MB, bw=11635KB/s, iops=2908, runt= 90016msec write: io=1023.8MB, bw=11646KB/s, iops=2911, runt= 90016msec randrw_3 : read : io=1023.8MB, bw=11647KB/s, iops=2911, runt= 90004msec write: io=1024.6MB, bw=11656KB/s, iops=2914, runt= 90004msec randrw_4 : read : io=1032.9MB, bw=11750KB/s, iops=2937, runt= 90009msec write: io=1033.9MB, bw=11762KB/s, iops=2940, runt= 90009msec randrw_5 : read : io=1031.6MB, bw=11733KB/s, iops=2933, runt= 90023msec write: io=1032.7MB, bw=11746KB/s, iops=2936, runt= 90023msec ----------------------
discardオプションを無効化して再マウント
[comicsong@comicsong fio]$ sudo umount /mnt/SSD [comicsong@comicsong fio]$ sudo mount -o noatime /dev/sda1 /mnt/SSD [comicsong@comicsong fio]$ mount | grep sda /dev/sda1 on /mnt/SSD type ext4 (rw,noatime,data=ordered)
- テスト実施。
for TEST in read write readwrite randread randwrite randrw do for NUM in {1..5} do echo -n "${TEST}_${NUM} :" fio fio.ini -rw ${TEST} | tee -a /home/comicsong/fio/ext4_discard_off.log | grep "iops=" /bin/rm -r /mnt/SSD/fio/tmp/* done echo "----------------------" done
discard無効
read_1 : read : io=9176.4MB, bw=104404KB/s, iops=26101, runt= 90002msec read_2 : read : io=8701.6MB, bw=99002KB/s, iops=24750, runt= 90002msec read_3 : read : io=10073MB, bw=114611KB/s, iops=28652, runt= 90002msec read_4 : read : io=8216.2MB, bw=93479KB/s, iops=23369, runt= 90002msec read_5 : read : io=9172.6MB, bw=104361KB/s, iops=26090, runt= 90001msec ---------------------- write_1 : write: io=9446.6MB, bw=107478KB/s, iops=26869, runt= 90002msec write_2 : write: io=9433.1MB, bw=107325KB/s, iops=26831, runt= 90002msec write_3 : write: io=9355.2MB, bw=106439KB/s, iops=26609, runt= 90002msec write_4 : write: io=9488.5MB, bw=107956KB/s, iops=26988, runt= 90001msec write_5 : write: io=9464.3MB, bw=107679KB/s, iops=26919, runt= 90002msec ---------------------- readwrite_1 : read : io=982896KB, bw=10919KB/s, iops=2729, runt= 90014msec write: io=984500KB, bw=10937KB/s, iops=2734, runt= 90014msec readwrite_2 : read : io=993764KB, bw=11041KB/s, iops=2760, runt= 90010msec write: io=995820KB, bw=11063KB/s, iops=2765, runt= 90010msec readwrite_3 : read : io=984244KB, bw=10934KB/s, iops=2733, runt= 90015msec write: io=985844KB, bw=10952KB/s, iops=2737, runt= 90015msec readwrite_4 : read : io=989096KB, bw=10989KB/s, iops=2747, runt= 90006msec write: io=990784KB, bw=11008KB/s, iops=2751, runt= 90006msec readwrite_5 : read : io=987420KB, bw=10969KB/s, iops=2742, runt= 90017msec write: io=989016KB, bw=10987KB/s, iops=2746, runt= 90017msec ---------------------- randread_1 : read : io=10912MB, bw=124151KB/s, iops=31037, runt= 90001msec randread_2 : read : io=10932MB, bw=124380KB/s, iops=31094, runt= 90001msec randread_3 : read : io=10990MB, bw=125041KB/s, iops=31260, runt= 90001msec randread_4 : read : io=11005MB, bw=125209KB/s, iops=31302, runt= 90001msec randread_5 : read : io=11012MB, bw=125293KB/s, iops=31323, runt= 90001msec ---------------------- randwrite_1 : write: io=8964.4MB, bw=101993KB/s, iops=25498, runt= 90001msec randwrite_2 : write: io=8371.5MB, bw=95101KB/s, iops=23775, runt= 90140msec randwrite_3 : write: io=8284.7MB, bw=94111KB/s, iops=23527, runt= 90143msec randwrite_4 : write: io=8442.8MB, bw=96050KB/s, iops=24012, runt= 90002msec randwrite_5 : write: io=8135.7MB, bw=92564KB/s, iops=23140, runt= 90002msec ---------------------- randrw_1 : read : io=1019.1MB, bw=11603KB/s, iops=2900, runt= 90008msec write: io=1020.1MB, bw=11615KB/s, iops=2903, runt= 90008msec randrw_2 : read : io=1028.9MB, bw=11703KB/s, iops=2925, runt= 90020msec write: io=1029.1MB, bw=11716KB/s, iops=2928, runt= 90020msec randrw_3 : read : io=1020.7MB, bw=11612KB/s, iops=2903, runt= 90006msec write: io=1021.8MB, bw=11624KB/s, iops=2906, runt= 90006msec randrw_4 : read : io=1028.2MB, bw=11697KB/s, iops=2924, runt= 90008msec write: io=1029.2MB, bw=11708KB/s, iops=2926, runt= 90008msec randrw_5 : read : io=1015.9MB, bw=11546KB/s, iops=2886, runt= 90023msec write: io=1016.1MB, bw=11558KB/s, iops=2889, runt= 90023msec