Home

Download

Documentation

Results

Contacts

SourceForge.net Logo

fileio results

This is the followup to my previous benchmarks of random file I/O performance in the Linux kernel.

This time 2.4.27-rc1 (config) and 2.6.7 (config) kernels were tested. In most of the tests 2.6.7 showed about the same performance as 2.4.27-rc1. However, there are few cases where 2.6.7 performed about 10% slower.

Test setup

All workloads were generated by the SysBench fileio test on an ext3 partition with data=ordered. Before each test the filesystem was remounted. Anticipatory scheduler was used for 2.6.7. LinuxThreads were used as a threading library on both 2.4.27-rc1 and 2.6.7.

Hardware

As in my previous benchmarks, hardware was an AMD Athlon 800 MHz with 640 MB RAM and an IDE hard drive.

Results

For each test three sequential test runs were performed (with filesystem remounted before each run) and the average execution time was used as a result.

First, I tried to vary the total file size and see if increasing this value can lead to regressions in 2.6. The following results were obtained with 16 threads and 128 files.

Total file size
2.4.27-rc1 2.6.7
1 GB 73.78 75.75
2 GB 86.80 88.09
4 GB 99.02 108.99
8 GB 115.07 124.53
16 GB 134.69 136.63

There is a minor (less than 10%) regression for 4 and 8 gigabytes and a negligible regression in other cases.

Then I tried to vary the number of files. The following results were obtained with 1 thread and 4 GB total file size.

Number of files
2.4.27-rc1 2.6.7
1 94 93.02
2 95.03 93.37
4 94.27 93.94
8 95.55 94.28
16 95.67 95.36
32 95.87 96.93
64 97.39 99.39
128 99.36 101.89
256 103.51 103.80

As seen from the results, 2.6.7 outperforms 2.4.27-rc1 on small sets of files, but lags behind on large sets.

Finally, I tried to vary the number of running threads. The following results were obtained with 4 GB total file size and 1 file.

Number of threads
2.4.27-rc1 2.6.7
1 94 93.02
2 96.6 93.26
4 94.93 90.16
8 89.49 87.45
16 86.25 86.2
32 88.14 85.13
Here 2.6.7 has a small advantage over 2.4.27-rc1 in all tests.

Conclusion

2.6.7 performs much better on random file I/O workloads than previous 2.6 kernels but probably there are still some rough edges in I/O scheduler implementation that cause performance regressions on some workloads.