LinuxWorld
Subscribe to this site with RSS

Linux filesystems part 3: Comparing the standard filesystems

Comparisons

Standard filesystems


See a slideshow of the graphics with this article.


Timing Results

Bonnie++ Results

 

Test ext2 ext3 xfs jfs reiserfs
Total 3232.9 2509.9 2782.4 3064.5 2531.8
Extract kernel sources 2.7 4.0 8.1 10.5 3.1
Extract GCC sources 4.0 5.4 13.6 18.7 5.0
Recursive random file 22.7 22.5 22.7 22.1 25.0
Configure GCC 2.0 2.1 2.0 1.9 1.5
Kernbench 824.5 828.1 832.2 847.6 831.4
GCC make-j16 bootstrap 1288.3 1290.4 1307.3 1387.3 1273.9
Remove kernel source 0.3 0.7 6.6 12.1 1.2
Bonnie++ file operations 403.3 7.9 145.6 193.4 18.1
Remove GCC tree 0.9 1.8 7.4 21.5 2.8
tiobench threaded I/O 54.9 59.9 51.1 54.9 66.2
Bonnie++ intelligent I/O 629.1 286.6 385.4 443.8 303.3

 

Test ext2 ext3 xfs jfs reiserfs
Sequential create/sec 651 53412 2894 5562 29107
Sequential stats/sec +++++ +++++ +++++ +++++ +++++
Sequential delete/sec 204531 60123 4602 2761 24549
Random create/sec 639 52744 2643 1556 28179
Random stat/sec +++++ +++++ +++++ +++++ +++++
Random delete/sec 1204 59555 2109 1432 16623
Block writes KB/sec 648084 275239 617869 327055 359405
Block rewrites KB/sec 123908 115008 128171 128943 116784
Block read KB/sec 294471 309794 246910 279747 215436
Random seeks/sec 1007 991.9 1404 1060 989.1

Emerging filesystems

Timing Results

Bonnie++ Results

 

Test ChunkFS NILFS btrfs ext4 reiserf4 ZFS/FUSE ZFS/OpenSolaris
 
Sequential create/sec N/A 495 33454 48103 54286 3446 25833
Sequential stats/sec N/A +++++ +++++ +++++ +++++ 4155 56906
Sequential delete/sec N/A 118726 37457 52397 21880 727 22659
Random create/sec N/A 495 34521 52234 23215 1195 17033
Random stat/sec N/A +++++ +++++ +++++ +++++ 3250 52337
Random delete/sec N/A 993 31331 57264 21318 205 17519
Block writes KB/sec N/A 102669 101102 291673 446526 27017 176336
Block rewrites KB/sec N/A 60190 46907 103971 122194 11529 142455
Block read KB/sec N/A 177609 121205 281596 173377 31963 777394
Random seeks/sec N/A 519.6 257.8 1245 1249 273.1 857.1
 

 

Test ChunkFS NILFS btrfs ext4 reiserf4 ZFS/FUSE ZFS/OpenSolaris
Total N/A 3870.5 3268.5 2527.0 2732.8 23989.0 N/A
Extract kernel sources 47.5 5.5 6.3 4.0 4.5 76.7 22.7
Extract GCC sources 116.2 8.2 8.0 5.6 6.1 111.0 23.4
Recursive random file 26.2 22.4 23.0 22.8 23.0 113.3 62.2
Configure GCC Fail 1.9 2.0 2.1 1.9 3.1 4.4
Kernbench Fail 827.0 870.9 828.3 922.2 2202.2 N/A
GCC make-j16 bootstrap Crash 1293.6 1411.1 1293.3 1344.9 16966.0 N/A
Remove kernel source N/A 0.7 1.6 0.7 10.2 19.1 N/A
Bonnie++ file operations N/A 517.6 12.5 8.5 16.6 819.0 24.3
Remove GCC tree N/A 2.7 3.1 1.8 11.2 39.7 N/A
tiobench threaded I/O 106.5 155.6 58.9 54.9 79.0 374.7 103.6
Bonnie++ intelligent I/O N/A 1084.4 774.5 300.6 313.0 3273.0 276.6

 

All together now!

Timing Results

Comparison Graphs of Individual Tests

Test ext2 ext3 xfs jfs reiserf ChunkFS NILFS btrfs ext4 reiserf4 ZFS/FUSE ZFS/OpenSolaris
 
Sequential create/sec 651 53412 2894 5562 29107 N/A 495 33454 48103 54286 3446 25833
Sequential stats/sec +++++ +++++ +++++ +++++ +++++ N/A +++++ +++++ +++++ +++++ 4155 56906
Sequential delete/sec 204531 60123 4602 2761 24549 N/A 118726 37457 52397 21880 727 22659
Random create/sec 639 52744 2643 1556 28179 N/A 495 34521 52234 23215 1195 17033
Random stat/sec +++++ +++++ +++++ +++++ +++++ N/A +++++ +++++ +++++ +++++ 3250 52337
Random delete/sec 1204 59555 2109 1432 16623 N/A 993 31331 57264 21318 205 17519
Block writes KB/sec 648084 275239 617869 327055 359405 N/A 102669 101102 291673 446526 27017 176336
Block rewrites KB/sec 123908 115008 128171 128943 116784 N/A 60190 46907 103971 122194 11529 142455
Block read KB/sec 294471 309794 246910 279747 215436 N/A 177609 121205 281596 173377 31963 777394
Random seeks/sec 1007 991.9 1404 1060 989.1 N/A 519.6 257.8 1245 1249 273.1 857.1
 

The scale on the lefthand side is in seconds, where less is better (faster). Filesystems with no bar shown failed that test.

 

FIGURE 7: Extract kernel sources  (in seconds, lower is better)

FIGURE 8: Extract GCC sources  (in seconds, lower is better)

FIGURE 9: Recursive random file test (in seconds, lower is better)

FIGURE 10: Configure GCC (in seconds, lower is better)

FIGURE 11: kernbench test (in seconds, lower is better)

FIGURE 12: Build GCC with “-j16 bootstrap” (in seconds, lower is better)

FIGURE 13: Remove kernel sources  (in seconds, lower is better)

FIGURE 14: Bonnie++ benchmark, file operations (in seconds, lower is better)

FIGURE 15: Remove GCC sources  (in seconds, lower is better)

FIGURE 16: tiobench threaded I/O test (in seconds, lower is better)

FIGURE 17: Bonnie++ intelligent I/O test (in seconds, lower is better)

 

Bonnie++ Results

Graph of file operations per second for all filesystems

 

(FIGURE 18)

Graph of bandwidth measured for Block I/O for all filesystems

(FIGURE 19)

Conclusions

Innovation

There is a great range of innovation in the various emerging filesystems tested here. It ranges from the rather conservative ext4 model of extending an existing filesystem with some new features, all the way through porting an existing stable filesystem to a new platform (ZFS/FUSE) to completely new code bases that integrate some of the current hot concepts in filesystem design (btrfs & nilfs).

RE: Linux filesystems part 3: Comparing the standard filesystems By Cherev on September 20, 2007, 12:26 am Reply | Read entire comment Seems to me that all this filesystem ferment is beside the point for those who need stability and predictability. Wouldn't ext3, conjoined with a kernel module (or...

All comments (1)

Note: Register to have your user name appear; otherwise your comment will show up as "Anonymous."

*Anonymous comments will only appear once they are approved by the moderator.

Featured Whitepapers
Newsletter sign-up

Sign up for one of Network World's newsletters compliments of Linux World

Linux & Open Source News Alert
Web Applications Alert
Video & Podcast Alert
Security: Threat  Alert
Virtualization Alert

Email Address: