Ext4 vs XFS — различия между версиями
Материал из YourcmcWiki
м (→filebench fileserver, dirty_ratio=20%) |
м (→FS-Mark 3.3, creating 1M files) |
||
Строка 10: | Строка 10: | ||
== FS-Mark 3.3, creating 1M files == | == FS-Mark 3.3, creating 1M files == | ||
− | HDD: WD Scorpio Black 2.5" 750GB 7200rpm | + | * HDD: WD Scorpio Black 2.5" 750GB 7200rpm |
+ | * fs_mark is a write-only test and it does fsync(), so there should be no skew caused by page cache | ||
<plot> | <plot> |
Версия 19:05, 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
- fs_mark is a write-only test and it does fsync(), so there should be no skew caused by page cache
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 tried to "disable" page cache using dirty_ratio=1% and ran tests 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
filebench fileserver, dirty_ratio=20%
- HDD: WD VelociRaptor WD6000HLHX, 10000rpm
- Same test but ran with default 20% dirty_ratio setting. It's clearly seen that the system was using page cache extensively (ext4 was permanently gaining an unreal result in the single-thread test...)