ファイルシステムの違いによる処理時間の観察

KNOPPIXを使いファイルシステム毎のパフォーマンスチェックをする実験を行っ た。対象となったファイルシステムはext2、ext3、reiserfs、xfs、jfsの5種 類である。

実験に用いたプログラムは本来はハードウェアおよびファイルシステム (カーネル)に長時間負荷をかけるプログラム(*1)で、実際のファイルシステ ム利用を模したものではない。したがって、現実のファイルシステム利用(*2) とは必ずしも一致しないことは理解するべきである。

  • (*1) http://h2np.net/tools/fs-bench-0.2.tar.gz
    普段は自作ハードウェアのエーシング(慣らし)やパラメータチェック に使っている。
  • (*2)とはいっても、システム開発、データベース利用、Webサイト、メール サーバー、ネットニュースサーバーなど、すべてその利用目的が違えば、ファ イルの利用パターンも異なるので、どのような利用パターンが一般的かは一 概に定義するのは難しい。
  • 利用したKNOPPIXのバージョンはLinux KNOPPIX 2.4.5 #3 であった。この KNOPPIXのカーネルのバージョン2.4.26であった。

    約17Gバイトを1パーティションとしたファイルシステムをマウントしfs-bench 実行した結果(*3)が以下の通りである。mkfsによる初期化時に特別な設定はせず、 各種パラメーターに関してはすべてデフォルト値となっている。

  • (*3) 17Gバイトのパーティションテストの場合、一晩に1回というペースだっ たので、1週間かかった。
  • 約17Gバイトを1パーティションにした結果
    ファイルシステム総合タイム(秒)
    ext215145
    ext319435
    reiserfs13583
    xfs15269
    jfs20296
    ----

    予備実験 約4Gバイトを1パーティションにした結果
    ファイルシステム総合タイム(秒)
    ext21968
    ext32827
    reiserfs1763
    xfs2180
    jfs3123

    -----
    # cat /etc/motd
    Linux Knoppix 2.4.5 #13 SMP Thu May 31 15:38:30 CEST 2001 i686 unknown
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    
    -----
    # cat /proc/version
    Linux version 2.4.26 (root@Knoppix) (gcc version 2.95.4 20011002
     (Debian prerelease)) #1 SMP Sa Apr 17 19:33:42 CEST 2004
    
    -----
    # hdparm -d -c -m /dev/hda
    /dev/hda:
     setting 32-bit IO_support flag to 1
     setting multcount to 16
     setting using_dma to 1 (on)
     multcount    = 16 (on)
     IO_support   =  1 (32-bit)
     using_dma    =  1 (on)
    
    -----
    # hdparm -itT /dev/hda
    /dev/hda:
    
     Model=QUANTUM FIREBALLlct15 20, FwRev=A01.0F00, SerialNo=313012313009
     Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
     RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4
     BuffType=DualPortCache, BuffSize=418kB, MaxMultSect=16, MultSect=16
     CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=39876480
     IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
     PIO modes:  pio0 pio1 pio2 pio3 pio4 
     DMA modes:  mdma0 mdma1 mdma2 
     UDMA modes: udma0 udma1 udma2 udma3 udma4 
     AdvancedPM=no WriteCache=enabled
     Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: 
    
     * signifies the current active mode
    
     Timing buffer-cache reads:   1232 MB in  2.00 seconds = 616.00 MB/sec
     Timing buffered disk reads:   58 MB in  3.01 seconds =  19.27 MB/sec
    
    -----
    # cat /proc/cpuinfo 
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 15
    model		: 2
    model name	: Intel(R) Pentium(R) 4 CPU 1.60GHz
    stepping	: 4
    cpu MHz		: 1593.557
    cache size	: 512 KB
    fdiv_bug	: no
    hlt_bug		: no
    f00f_bug	: no
    coma_bug	: no
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 2
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
      mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
    bogomips	: 3178.49
    
    -----
    # cat /proc/meminfo 
            total:    used:    free:  shared: buffers:  cached:
    Mem:  759750656 268701696 491048960        0  1933312 42774528
    Swap:        0        0        0
    MemTotal:       741944 kB
    MemFree:        479540 kB
    MemShared:           0 kB
    Buffers:          1888 kB
    Cached:          41772 kB
    SwapCached:          0 kB
    Active:          16236 kB
    Inactive:        93248 kB
    HighTotal:           0 kB
    HighFree:            0 kB
    LowTotal:       741944 kB
    LowFree:        479540 kB
    SwapTotal:           0 kB
    SwapFree:            0 kB
    
    -----