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...)