Methodology
time cp -a /mnt/tmpfs/* /mnt/temp/
Cold search --
time find /mnt/temp/ -iname '*a*' > /dev/null
Warm search --
time for i in {a..j}; do find /mnt/temp/ -iname "*$i*" > /dev/null; done
read all files in an alphabetic way (cold) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
read all files in an alphabetic way (warm) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
Write a certain small value to all files alphabetically (check for CPU utilization too of the script) --
cd /mnt/temp/
find /mnt/temp/ -type f > /tmp/flist.txt
dd if=/dev/urandom of=/tmp/write_data bs=1K count=6
time write_mulitple_files.rb /tmp/flist.txt /tmp/write_data
Delete dir tree --
time rm -rf /mnt/temp/*
HDD benchmarks
mount and mkfs options
Results --
Create/copy --
0m27.925s
Cold search --
0m0.157s
Warm search --
0m1.509s
read all files in an alphabetic way (cold) (parallel) --
0m0.253s
read all files in an alphabetic way (warm) (parallel) --
0m0.252s
Write a certain small value to all files alphabetically in parallel --
11m41.727s
Delete dir tree --
0m1.161s
xfs --
Create/copy --
0m21.857s
Cold search --
0m0.081s
Warm search --
0m0.752s
read all files in an alphabetic way (cold) (parallel) --
0m0.239s
read all files in an alphabetic way (warm) (parallel) --
0m0.238s
Write a certain small value to all files alphabetically in parallel --
11m43.711s
Delete dir tree --
0m1.086s
Conclusion --
SSD benchmarks
mount and mkfs options
Results --
Copy operation --
time cp -a /mnt/tmpfs/* /mnt/temp/
real 0m48.826s
user 0m0.204s
sys 0m3.005s
real 0m48.290s
user 0m0.246s
sys 0m2.898s
Cold search --
time find /mnt/temp/ -iname '*a*' > /dev/null
real 0m0.172s
user 0m0.074s
sys 0m0.097s
real 0m0.169s
user 0m0.064s
sys 0m0.105s
Warm search --
time for i in {a..j}; do find /mnt/temp/ -iname "*$i*" > /dev/null; done
real 0m1.616s
user 0m0.536s
sys 0m1.075s
real 0m1.651s
user 0m0.615s
sys 0m1.031s
read all files in an alphabetic way (cold) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
real 0m0.444s
user 0m0.227s
sys 0m2.850s
real 0m0.402s
user 0m0.271s
sys 0m2.793s
read all files in an alphabetic way (warm) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
real 0m0.407s
user 0m0.230s
sys 0m2.851s
real 0m0.402s
user 0m0.223s
sys 0m2.845s
Write a certain small value to all files alphabetically (check for CPU utilization too of the script) --
cd /mnt/temp/
find -type f > /tmp/flist.txt
dd if=/dev/urandom of=/tmp/write_data bs=1K count=6
time /home/de/small/docs/Practice/Software/ruby/write_mulitple_files.rb /tmp/flist.txt /tmp/write_data
real 9m59.305s
user 9m53.748s
sys 0m51.903s
real 9m38.867s
user 9m33.476s
sys 0m49.930s
Delete dir tree --
time rm -rf /mnt/temp/*
real 0m0.824s
user 0m0.021s
sys 0m0.743s
real 0m0.820s
user 0m0.038s
sys 0m0.718s
xfs rmapbt=0
Copy operation --
time cp -a /mnt/tmpfs/* /mnt/temp/
real 0m14.851s
user 0m0.298s
sys 0m3.860s
Cold search --
time find /mnt/temp/ -iname '*a*' > /dev/null
real 0m0.082s
user 0m0.054s
sys 0m0.027s
Warm search --
time for i in {a..j}; do find /mnt/temp/ -iname "*$i*" > /dev/null; done
real 0m0.694s
user 0m0.511s
sys 0m0.179s
read all files in an alphabetic way (cold) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
real 0m0.389s
user 0m0.277s
sys 0m2.680s
read all files in an alphabetic way (warm) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
real 0m0.388s
user 0m0.256s
sys 0m2.705s
Write a certain small value to all files alphabetically (check for CPU utilization too of the script) --
cd /mnt/temp/
find /mnt/temp/ -type f > /tmp/flist.txt
dd if=/dev/urandom of=/tmp/write_data bs=1K count=6
time /home/de/small/docs/Practice/Software/ruby/write_mulitple_files.rb /tmp/flist.txt /tmp/write_data
real 10m45.878s
user 10m40.476s
sys 0m7.636s
Delete dir tree --
time rm -rf /mnt/temp/*
real 0m1.181s
user 0m0.030s
sys 0m0.482s
xfs rmapbt=1
Copy operation --
time cp -a /mnt/tmpfs/* /mnt/temp/
real 0m2.883s
user 0m0.159s
sys 0m2.556s
Cold search --
time find /mnt/temp/ -iname '*a*' > /dev/null
real 0m0.082s
user 0m0.049s
sys 0m0.033s
Warm search --
time for i in {a..j}; do find /mnt/temp/ -iname "*$i*" > /dev/null; done
real 0m0.700s
user 0m0.480s
sys 0m0.216s
read all files in an alphabetic way (cold) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
real 0m0.389s
user 0m0.218s
sys 0m2.752s
read all files in an alphabetic way (warm) --
time find /mnt/temp/ -type f | xargs -d $'\n' -r -P 100 -n 300 -L 300 cat > /dev/null
real 0m0.389s
user 0m0.229s
sys 0m2.739s
Write a certain small value to all files alphabetically (check for CPU utilization too of the script) --
cd /mnt/temp/
find /mnt/temp/ -type f > /tmp/flist.txt
dd if=/dev/urandom of=/tmp/write_data bs=1K count=6
time /home/de/small/docs/Practice/Software/ruby/write_mulitple_files.rb /tmp/flist.txt /tmp/write_data
real 8m53.297s
user 8m48.394s
sys 0m9.786s
Delete dir tree --
time rm -rf /mnt/temp/*
real 0m2.373s
user 0m0.024s
sys 0m0.498s
Conclusion --
When comparing xfs rmapbt=1 and xfs rmapbt=0, rmapbt=1 wins on average (but not by a large margin).
When comparing xfs rmapbt=1 and ext4, xfs wins by a large margin