...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2011-08-04

_ [Software] FS を ext3 から ext4 にしてみた

適当な領域を準備して、bonnie++ ではかってみました。

機械はIBMのPCサーバ、IBMのiSCSIストレージ、ESXi の上に RHEL 5.7 を入れて動かしてみた感じですよ。

まずは ext3 の FS をつくって計測。

[root@server01 ~]# mkfs.ext3 /dev/mapper/VolGroup01-lvol0
[root@server01 ~]# mount -t ext3 /dev/mapper/VolGroup01-lvol0 /tmp/bon
[root@server01 ~]# bonnie++ -d /tmp/bon -s 512 -r 256 -u user01
 
Version 1.03e       ------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
server01.n 512M 64643  77 174717  18 1342170 100 86009  99 4281930  99 392.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 100180  72 791957  96 190354  99 111969  74 1249456  99 194256 100

ext3 と ext4 は互換性があるという。タイプだけ変えてマウントしなおしたらどうなの?

[root@server01 ~]# umount /tmp/bon
[root@server01 ~]# mount -t ext4 /dev/mapper/VolGroup01-lvol0 /tmp/bon
[root@server01 ~]# bonnie++ -d /tmp/bon -s 512 -r 256 -u user01
 
Version 1.03e       ------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
server01.n 512M 31605  39 34454   4 854348  98 84649 100 2798113  99 184637  69
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 24367  23 722459  96 159582 100 108139  93 1157889  98 162662  99

ext4 で作り直してみる

[root@server01 ~]# umount /tmp/bon
[root@server01 ~]# mkfs.ext4 /dev/mapper/VolGroup01-lvol0
[root@server01 ~]# mount -t ext4 /dev/mapper/VolGroup01-lvol0 /tmp/bon
[root@server01 ~]# bonnie++ -d /tmp/bon -s 512 -r 256 -u user01
 
Version 1.03e       ------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
server01.n 512M 85623  99 1585283 100 1421739 100 86289 100 4501990  99 302710  73
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 104249  99 778150  99 158745  99 107853  99 1157220  98 161296  99

Sequential Output の Block が段違いに速くなったわ。

つぎは ext3 の領域を ext4 に変換したらどうか。まず ext3 で作ってから、ext4 にする。

[root@server01 ~]# umount /tmp/bon
[root@server01 ~]# mkfs.ext3 /dev/mapper/VolGroup01-lvol0
[root@server01 ~]# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/mapper/VolGroup01-lvol0
[root@server01 ~]# e4fsck -vfDC0  /dev/mapper/VolGroup01-lvol0
e4fsck 1.41.12 (17-May-2010)
One or more block group descriptor checksums are invalid.  Fix? yes
いろいろ表示されておわり
[root@server01 ~]# mount -t ext4 /dev/mapper/VolGroup01-lvol0 /tmp/bon
[root@server01 ~]# bonnie++ -d /tmp/bon -s 512 -r 256 -u user01
 
Version 1.03e       ------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
server01.n 512M 75233  87 1453355  95 1337786 100 70546  82 4421906 100 297122  68
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 103652  99 746558  95 161684 100 106122  97 1132274  89 162899 100

最初から ext4 でも、 ext3 から ext4 に変換でもあんまり差がなさそう。消して作り直しじゃなくて、変換による対応で良さそうね。

しかしむやみにイイ値が出てるような気がするのだけど、ベンチに使ったファイルサイズが小さすぎたかな。キャッシュに載ってしまったかな。


2011年
8月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Twitter : @moriya_jp