Linux 2.4.x Journaling File Systems: Performance Data
Randy Dunlap (rddunlap@osdlab.org)
2001.August.29
This report presents some initial data concerning the performance of four (4) journaling file systems (ext3fs, IBM's JFS, reiserfs, and SGI's XFS) in Linux 2.4.7. ext2fs is used as a baseline comparison for the journaling file systems.
IOzone version 3.61 (http://www.iozone.org/) is used as the benchmark tool (or workload). The data presented are: machine configurations, total times to run the workload (elapsed and CPU), and IOzone timing reports. The IOzone timing reports are created as both text files and Excel- or (Star Office Calc)-formatted (.xls) files.
Overview
IOzone version 3.61 was used to measure the performance of four journaling file systems in Linux 2.4.7. Only reiserfs is included in the kernel source tree; the other three are external patch files.
The data presented here are: machine configurations, total times to run the workload (elapsed and CPU), and IOzone timing reports. The IOzone timing reports are created as both text files and Excel- or (Star Office Calc)-formatted (.xls) files.
While IOzone is used as the workload for the data presented here, other benchmarks and workloads can be found at various (Linux) benchmarking web sites, such as the Linux Benchmark Suite (http://lbs.sf.net). See the References section for a list of benchmarking web sites.
These tests are being done in order to use and test these journaling file systems on large-configuration systems. The particular system used for this series of runs is a VA Linux model 4450 4-processor server. It was limited to 256 MB of RAM to satisy IOzone memory requirements (that the file size be larger than system memory). The target storage subsystem is a 10-drive RAID-1 array of 169 GB that is connected via a Qlogic IPS2200 fibre channel controller.
The CPU times reported here are for complete IOzone runs. I am in the process of adding CPU utilization to the individual IOzone tests.
Contributions
Additions and corrections are welcome. Please send them to rddunlap@osdlab.org.
Trademarks
All trademarks are the property of their respective owners.
License
Copyright (C) 2001 Randy Dunlap.
Filesystem versions and Web locations
|
FS type |
FS version |
FS URL |
|---|---|---|
|
ext2fs |
in Linux 2.4.7 |
|
|
ext3fs |
ext3-2.4-0.9.5-247.gz |
|
|
JFS |
1.0.2 |
|
|
reiserfs |
in Linux 2.4.7 |
|
|
XFS |
patch-2.4.7-xfs-2001-07-27.bz2 |
The patch maintainers have made all of these filesystem patches very easy to apply and test. I haven't tried to convert any existing filesystems to these new filesystem types, but using them on a spare disk partition is very easy to do: just build the kernel, boot it, make the filesystem on the disk partition, mount it, and test away.
Filesystem mount options (journaling type[s])
|
FS type |
Journaling type |
|---|---|
|
ext2fs |
(not applicable) |
|
ext3fs |
data=ordered (default, although data=writeback should be faster) |
|
JFS |
(default) |
|
reiserfs |
(defaults) |
|
XFS |
(default) |
Iozone Run times
|
FS type |
Times |
Full 'time' output |
|---|---|---|
|
ext2fs |
30.60user 482.16system 2:47:52elapsed 5%CPU |
|
|
ext3fs |
35.35user 745.08system 2:52:05elapsed 7%CPU |
|
|
JFS |
32.51user 493.11system 2:46:54elapsed 5%CPU |
|
|
reiserfs |
37.58user 687.47system 2:52:46elapsed 6%CPU |
|
|
XFS |
33.86user 514.78system 2:47:48elapsed 5%CPU |
Iozone Run reports
These files contain the Iozone output data, both in text and Excel (or Star Office Calc) spreadsheet formats. For each test run, this includes Iozone parameters and I/O throughtput reports for various filesystem operations: write, re-write, read, re-read, random read, random write, backward read, record re-write, stride read, fwrite, re-fwrite, fread, and re-fread.
|
FS type |
Report text file |
Report .xls file |
|---|---|---|
|
ext2fs |
||
|
ext3fs |
||
|
JFS |
||
|
reiserfs |
||
|
XFS |
Graphs
Here are some selected graphs created from the Run reports above.
|
FS type |
Seq. writes |
Seq. reads |
Random reads |
Random writes |
|---|---|---|---|---|
|
ext2fs |
||||
|
ext3fs |
||||
|
JFS |
||||
|
reiserfs |
||||
|
XFS |
Here are a few FS-comparison graphs.
|
Comparison |
Graph |
|---|---|
|
16 MB file, random reads |
|
|
1 MB file, random writes |
|
|
64 MB file, sequential reads |
|
|
8 MB file, sequential writes |
Machine configuration data
These files contain machine configuration data for each test run.
|
FS type |
Configuration report |
|---|---|
|
ext2fs |
|
|
ext3fs |
|
|
JFS |
|
|
reiserfs |
|
|
XFS |
References
IOzone benchmark: URL: http://www.iozone.org/
Linux Benchmark Suite: URL: http://lbs.sourceforge.net/
Benchmark information: URL: http://hpwww.epfl.ch/bench/bench.html
BenchWeb: URL: http://www.netlib.org/benchweb/code.html
Disk I/O benchmarks: URL: http://www.acnc.com/benchmarks.html
LMbench: URL: http://www.bitmover.com/lmbench/
Netperf: http://www.netperf.org/netperf/NetperfPage.html
SPEC benchmarks: URL: http://www.spec.org/
TPC benchmarks: URL: http://www.tpc.org/
ttcp: URL: ftp://ftp.arl.mil/pub/ttcp/
Web Polygraph: URL: http://polygraph.ircache.net/
Updates
2001.August.27:
. fix a graphics file hyperlink
. add FS URLs and versions
. add this Updates section
. make hyperlinks look like links
2001.August.29:
. add FS mount options table
. regenerate .png files to make them viewable (labels)
. add a few FS comparison graphs
###