Ext4 vs XFS — различия между версиями
Материал из YourcmcWiki
м (→sysbench random read/write 16K in 16K files) |
м |
||
Строка 1: | Строка 1: | ||
− | == Copy kernel source (warm cache) == | + | == Copy kernel source (from SSD with warm cache) == |
+ | |||
+ | HDD: WD Scorpio Black 2.5" 750GB 7200rpm | ||
* xfs 1 thread: 12.348s | * xfs 1 thread: 12.348s | ||
Строка 7: | Строка 9: | ||
== FS-Mark 3.3, creating 1M files == | == FS-Mark 3.3, creating 1M files == | ||
+ | |||
+ | HDD: WD Scorpio Black 2.5" 750GB 7200rpm | ||
<plot> | <plot> | ||
Строка 40: | Строка 44: | ||
== sysbench random read/write 16K in 8M files == | == sysbench random read/write 16K in 8M files == | ||
+ | |||
+ | HDD: WD Scorpio Black 2.5" 750GB 7200rpm | ||
<plot> | <plot> | ||
Строка 74: | Строка 80: | ||
== sysbench random read/write 16K in 16K files == | == sysbench random read/write 16K in 16K files == | ||
+ | |||
+ | HDD: WD Scorpio Black 2.5" 750GB 7200rpm | ||
<plot> | <plot> | ||
Строка 104: | Строка 112: | ||
32.0 268.36 | 32.0 268.36 | ||
64.0 257.91 | 64.0 257.91 | ||
+ | ENDDATASET | ||
+ | </plot> | ||
+ | |||
+ | == [http://sourceforge.net/projects/filebench/ filebench] fileserver, dirty_ratio=1% == | ||
+ | |||
+ | * HDD: WD VelociRaptor WD6000HLHX, 10000rpm | ||
+ | * fileserver test is read whole file + append + write whole file test ran on 10000 files in X threads | ||
+ | * filebench fails to run fileserver test with O_DIRECT, so I tested it with dirty_ratio=1% like this: | ||
+ | |||
+ | <code-bash> | ||
+ | echo 1 > /proc/sys/vm/dirty_ratio | ||
+ | echo 0 > /proc/sys/vm/dirty_bytes | ||
+ | echo 0 > /proc/sys/kernel/randomize_va_space | ||
+ | for i in 1 2 4 8 16 32 50 64; do | ||
+ | echo | ||
+ | echo "== $i threads ==" | ||
+ | echo | ||
+ | echo 1 > /proc/sys/vm/drop_caches | ||
+ | sync | ||
+ | filebench <<EOF | ||
+ | load fileserver | ||
+ | set \$dir=/media/sdd | ||
+ | set \$nthreads=$i | ||
+ | run 30 | ||
+ | EOF | ||
+ | done | ||
+ | echo 20 > /proc/sys/vm/dirty_ratio | ||
+ | </code-bash> | ||
+ | |||
+ | <plot> | ||
+ | set xrange [1:64] | ||
+ | set logscale x | ||
+ | set xtics (1, 2, 4, 8, 16, 32, 50, 64) | ||
+ | set yrange [0:300] | ||
+ | set xlabel 'threads' | ||
+ | set ylabel 'ops/s (more is better)' | ||
+ | set xzeroaxis | ||
+ | set grid ytics | ||
+ | set style fill solid 1.0 noborder | ||
+ | set boxwidth 0.7 relative | ||
+ | plot 'xfs.dat' using 1:2 title 'XFS' with linespoints, 'ext4.dat' using 1:2 title 'ext4' with linespoints | ||
+ | DATASET xfs | ||
+ | 1.0 1893 | ||
+ | 2.0 1801 | ||
+ | 4.0 1778 | ||
+ | 8.0 1864 | ||
+ | 16.0 1720 | ||
+ | 32.0 1473 | ||
+ | 50.0 1210 | ||
+ | 64.0 1056 | ||
+ | ENDDATASET | ||
+ | DATASET ext4 | ||
+ | 1.0 3075 | ||
+ | 2.0 2352 | ||
+ | 4.0 2334 | ||
+ | 8.0 2346 | ||
+ | 16.0 2022 | ||
+ | 32.0 1559 | ||
+ | 50.0 1317 | ||
+ | 64.0 1163 | ||
ENDDATASET | ENDDATASET | ||
</plot> | </plot> |
Версия 18:58, 19 декабря 2013
Содержание
Copy kernel source (from SSD with warm cache)
HDD: WD Scorpio Black 2.5" 750GB 7200rpm
- xfs 1 thread: 12.348s
- xfs 4 threads: 65.883s
- ext4 1 thread: 7.662s
- ext4 4 threads: 33.876s
FS-Mark 3.3, creating 1M files
HDD: WD Scorpio Black 2.5" 750GB 7200rpm
sysbench random read/write 16K in 8M files
HDD: WD Scorpio Black 2.5" 750GB 7200rpm
sysbench random read/write 16K in 16K files
HDD: WD Scorpio Black 2.5" 750GB 7200rpm
filebench fileserver, dirty_ratio=1%
- HDD: WD VelociRaptor WD6000HLHX, 10000rpm
- fileserver test is read whole file + append + write whole file test ran on 10000 files in X threads
- filebench fails to run fileserver test with O_DIRECT, so I tested it with dirty_ratio=1% like this:
echo 1 > /proc/sys/vm/dirty_ratio echo 0 > /proc/sys/vm/dirty_bytes echo 0 > /proc/sys/kernel/randomize_va_space for i in 1 2 4 8 16 32 50 64; do echo echo "== $i threads ==" echo echo 1 > /proc/sys/vm/drop_caches sync filebench <<EOF load fileserver set \$dir=/media/sdd set \$nthreads=$i run 30 EOF done echo 20 > /proc/sys/vm/dirty_ratio