Inspired by NILFS: A File System to Make SSDs Scream and some customers asked if they should try NILFS on their SSD disks I decided to run quick tests to see how it performs.
Installation on our Ubuntu 8.10 with SSD disk (Intel X25-E, 32GB) was pretty plain and I got partition with NILFS without problem. After that I run script for sysbench fileio:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
for size in 256M 16G; do for mode in seqwr seqrd rndrd rndwr rndrw; do ./sysbench --test=fileio --file-num=1 --file-total-size=$size prepare for threads in 1 4 8; do echo PARAMS $size $mode $threads > sysbench-size-$size-mode-$mode-threads-$threads ./sysbench --test=fileio --file-total-size=$size --file-test-mode=$mode --max-time=60 --max-requests=10000000 --num-threads=$threads --init-rng=on --file-num=1 --file-extra-flags=direct --file-fsync-freq=0 run >> sysbench-size-$size-mode-$mode-threads-$threads 2>&1 done ./sysbench --test=fileio --file-total-size=$size cleanup done done |
While tests with 256M run fine, benchmark failed to create 16GB file with out of space error, and partition shows:
|
1 2 |
Filesystem Size Used Avail Use% Mounted on /dev/sdb1 30G 29G 0 99% /nilfs |
so it seems partition filled all space by checkpoints, which I calculated
145314 checkpoints after 5 mins benchmarks, which for my taste is quite a lot …
I tried to remove all checkpoints, umount / mount all partitions and still partition was filled by 99%. However after 30 mins it was:
|
1 2 |
Filesystem Size Used Avail Use% Mounted on /dev/sdb1 30G 27G 1.9G 94% /nilfs |
seems some background garbage collector frees space.
I looked into
|
1 |
/etc/nilfs_cleanerd.conf |
and NILFS docs, but I did not get inspiration what I can change to run benchmarks without problems.