Filesystems
comparison using sysbench and mySQL (InnoDB)
Raw results
can be found here.
Summary of the results
Because the scale of the results is different for JFS/XFS,
There are two graphes for each test, one without JFS/XFS and one with JFS/XFS
(click on thumbnail to zoom)
The execution time of sysbench with table size equal to 200000, 16 threads and max requests set to 2000000 is around 1h40 except for JFS (3h10)
and xfs (2h20).
The best filesystem is reiserfs (5853 s = 1h37m33s) and the worst (except JFS and XFS) is ext3 data=writeback (5991s = 1h39m51s),
so there are only 138 s (= 2m18s) between best and worst filesystem. It's only 2.36 % of total time...
Interesting fact is ext3 with data=writeback and all alex's patches is at the second place with 5862s, 9s after reiserfs.
Number of transactions/requests/event/other per seconds varies in inverse ratio of time.
Conclusion: avoid XFS and JFS, use reiserfs or ext3 writeback+patches
The average time reflects what we can see with the total time.
Average time for JFS is 0.0905, for XFS is 0.0677.
Average time for best filesystem (reiserfs) is 0.0468s, for worst (ext3 data=writeback) is 0.0479s.
Average time for ext3 data=writeback and Alex's patches is 0.0469s.
The best minimum time is for ext3 data=ordered and Alex's patches (0.0051s).
But the worst minimum time (except JFS and XFS) is for ext3 data=ordered without patches (0.0054s).
An amazing fact is JFS and XFS have the minimum maximum: maximum operation time for JFS is 0.4412s and for XFS is 0.4013s, whereas all other
filesystems are beyond 0.55s.
But this value can be impacted by an unexpected and random event (like cron, login, ...) on the tested system.
Results
|
time |
event |
transactions |
requests |
other |
min |
avg |
max |
| ext2_defaults | 5867.3573 | 93819.7419 | 340.8700 | 6136.4600 | 681.7900 | 0.0053 | 0.0469 | 0.5494 |
| ext3_data=ordered | 5917.9053 | 94628.4118 | 337.9600 | 6084.0800 | 675.9700 | 0.0054 | 0.0473 | 0.6539 |
| ext3_data=ordered,extents | 5882.0060 | 94053.7382 | 340.0300 | 6121.2300 | 680.1000 | 0.0052 | 0.0470 | 0.5649 |
| ext3_data=ordered,mballoc,delalloc,extents | 5892.0728 | 94215.3485 | 339.4400 | 6110.7300 | 678.9300 | 0.0051 | 0.0471 | 0.4828 |
| ext3_data=ordered,mballoc,extents | 5912.5052 | 94541.9538 | 338.2700 | 6089.5800 | 676.5800 | 0.0053 | 0.0473 | 0.5535 |
| ext3_data=writeback | 5991.5114 | 95806.8091 | 333.8100 | 6009.4300 | 667.6700 | 0.0053 | 0.0479 | 0.5633 |
| ext3_data=writeback,extents | 5903.6407 | 94402.5205 | 338.7800 | 6098.7800 | 677.6000 | 0.0053 | 0.0472 | 0.5576 |
| ext3_data=writeback,mballoc,delalloc,extents | 5862.4972 | 93741.9585 | 341.1600 | 6141.5100 | 682.3500 | 0.0052 | 0.0469 | 0.5604 |
| ext3_data=writeback,mballoc,extents | 5912.6801 | 94546.3012 | 338.2600 | 6089.5000 | 676.5700 | 0.0054 | 0.0473 | 0.5658 |
| jfs_defaults | 11322.8824 | 181023.4709 | 176.6400 | 3179.8300 | 353.3000 | 0.0150 | 0.0905 | 0.4412 |
| reiserfs_defaults | 5853.3197 | 93597.5891 | 341.6900 | 6151.2700 | 683.4300 | 0.0053 | 0.0468 | 0.5663 |
| xfs_defaults | 8464.0878 | 135318.7951 | 236.3000 | 4253.8000 | 472.6300 | 0.0074 | 0.0677 | 0.4013 |
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|
Without JFS and XFS
|
|
With JFS and XFS
|