You might want to checkout very basic sequential write/read benchmark with dd.
You might want to checkout iozone in c harddisk benchmark.
this benchmark is especially useful if you need to measure how java is performing on your harddisk/filesystem/os (linux only?) combination.
i wanted to compare NTFS (3.1 you can find out by starting a command prompt with admin rights and then go: fsutil fsinfo ntfsinfo C:) and ext3 and ext4 and xfs and btrfs performance and were looking for a cross os harddisk benchmark… i was not able to run jDiskMark under Windows, luckily there is IOzone…
that was actually the first intention… to compare NTFS to the linux filesystems…
according to this chart… ext4 is slightly faster:
Download:
CentOS / Redhat / Fedora:
ln -sv /opt/iozone/bin/iozone /usr/bin/iozone; # so it is found and non-root users can use it as well
32Bit:
http://www.iozone.org/src/current/iozone-3-471.i386.rpm
mirror download: iozone-3-471.i386.rpm.gz
sha512sum iozone-3-471.i386.rpm.gz
4ee86e6149d4e547943d5ffcb85ddb571e69159fc9fcbed792893ba8edd046ae13cab95642370dd6270837e3fef771d3eba683a7a30ee2032b3586afd78668fd iozone-3-471.i386.rpm.gz
64Bit Versions
mirror download: iozone-3.424-2.el7.rf.x86_64.rpm.gz
sha512sum iozone-3.424-2.el7.rf.x86_64.rpm.gz
874b5ddaf80c6f6cc27c388bce8a5525070e55939ea64cd068e1afa0b3f087902253b661eaa0bf2b5d6ccefa6ccfcdb53b93cfd2649ecef58a2855ab4710f966 iozone-3.424-2.el7.rf.x86_64.rpm.gz
rpm: https://pkgs.org/download/iozone
Windooze:
http://www.iozone.org/src/current/IozoneSetup.exe
download mirror: IozoneSetup.exe.gz
sha512sum IozoneSetup.exe.gz
065b77cd4e0aed8948af70b3b2c51b07b55595144a166702a274c1c24a3ebb44ed4d5310ac12fd8ebb58abd5db180513e16abab7bc77164aa1b70413e290723c IozoneSetup.exe.gz
Debian / Ubuntu has it in non-free repository
echo “deb http://deb.debian.org/debian stretch non-free” >> /etc/apt/sources.list
echo “deb http://deb.debian.org/debian stretch-updates non-free” >> /etc/apt/sources.list
apt-get update;
apt-cache search iozone; # search iozone3 – Filesystem and Disk Benchmarking Tool
apt-get install iozone3; # install it
seems to be the better cross os harddisk benchmark…
you will not find a “-d /dev/sda” device switch/argument/option because: iozone will operate in the current directory by default. If you wish to test your ZFS pool, change directories to the relevant directory containing the pol or child filesystems, then execute iozone. (src)
2003: iozone benchmark comparison of linux filesystems comparison_linux_filesystems_2003_DL580_multi.pdf
and event an apt package for debian exists! respect!
time iozone -a; # run all tests and measure time to complete all tests
iozone -R -b exceloutput.xls > logfile; # quick test and save to excel
iozone -a -R -b exceloutput.xls > logfile; # run all tests and export to excel
java based harddisk benchmark: jdiskmark
this benchmark uses java8 – so it might not be the best of harddisk benchmarks (preferable would be one written in C or C++) – so all it proves is how fast can java read/write from certain filesystems.
what i found was: https://sourceforge.net/projects/jdiskmark/
the beauty of java: it runs everywhere
same code – different os – cross os comparable results?
hostnamectl Static hostname: DebianLaptop Icon name: computer-laptop Chassis: laptop Operating System: Debian GNU/Linux 8 (jessie) Kernel: Linux 3.16.0-4-686-pae Architecture: x86 apt-get install software-properties-common; # install the add-apt-repository command add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"; # it should acknowledge with: gpg: keyring `/tmp/tmp3_psrbzv/secring.gpg' created gpg: keyring `/tmp/tmp3_psrbzv/pubring.gpg' created gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com gpg: /tmp/tmp3_psrbzv/trustdb.gpg: trustdb created gpg: key EEA14886: public key "Launchpad VLC" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) OK apt-get update; apt-cache search jre|grep 8; # search for java runtime environment version 8 (minimum requirement for jdisk mark gcj-4.8-jre - Java runtime environment using GIJ/Classpath gcj-4.8-jre-headless - Java runtime environment using GIJ/Classpath (headless version) gcj-4.8-jre-lib - Java runtime library for use with gcj (jar files) oracle-java8-installer - Oracle Java(TM) Development Kit (JDK) 8 oracle-java8-unlimited-jce-policy - Unlimited JCE Policy for Oracle Java 8 apt-get install oracle-java8-installer; # install java8 on debian linux apt-get install oracle-java9-installer; # install java9 on debian linux
now you have to accept the non-GPL non-Free non-Open Source terms…
If you havemultiple Java versions installed, you can configure which version is the default with:
update-alternatives --config java;
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 auto mode
1 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1071 manual mode
* 2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press enter to keep the current choice[*], or type selection number:
lets continue…
cd /software/bench; # where you want to download wget https://netcologne.dl.sourceforge.net/project/jdiskmark/jdiskmark-v0.4.zip unzip jdiskmark-v0.4.zip; chown -R user:user /software/; # you might need to give your non-root-default user access rights java -jar /software/bench/jdiskmark-v0.4/jDiskMark.jar; # start the benchmark tool
system info:
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz with 16GB of DDR3, Samsung 850 Pro.
i booting from “IDEAL LINUX USB STICK” – the amazing cool debian live boot stick and use gparted on a fresh giada f301.
used gparted to create a single ext3/ext4 partition /dev/sda1
so there is no OS installed on the SSD itself.
java -jar /software/bench/jdiskmark-v0.4/jDiskMark.jar; # start the benchmark tool
benchmark settings: “No.Blocks” (Number of Blocks) has been increased from 32 to 1024.
15GB of FREE HARDDISK SPACE REQUIRED!
THE READ TEST MAKE HEAVY USE OF RAM CACHING!
THEREFORE THE RESULTS OF READ TEST DO NOT REPRESENT THE TRUE HARDDISK SPEEDS!
(it rather meassured RAM-Speed: which was sometimes 2GB/s and sometimes 4GB/s probably depending on (i don’t know) Java starting 2 or 4 threads?)
os version and ext4 module version:
hostnamectl Static hostname: debian Icon name: computer-laptop Operating System: Debian GNU/Linux 8 (jessie) Kernel: Linux 3.16.0-4-686-pae Architecture: x86 modinfo ext4 filename: /lib/modules/3.16.0-4-686-pae/kernel/fs/ext4/ext4.ko license: GPL description: Fourth Extended Filesystem author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others alias: fs-ext4 alias: ext3 alias: fs-ext3 alias: ext2 alias: fs-ext2 depends: mbcache,jbd2,crc16 intree: Y vermagic: 3.16.0-4-686-pae SMP mod_unload modversions 686
fazit:
xfs was the fastest – followed by ext4 – followed by ext3 which has a comparable performance to btrfs.
but of course btrfs has more features than ext3 (snapshots etc.).
cpu usage during benchmark:
the cpu was NOT the limiting factor… (all four cores usually were below 10% usage)
now let’s go: ext4
let’s go: ext3
let’s go: xfs
let’s go: BTRFS
let’s go: NTFS 3.1 under Win 7 Pro SP1 and all updates
… i was not able to run jDiskMark under Windows 🙁
that was actually the first intention… to compare NTFS to the linux filesystems…
additional cpu and ram benchmarks:
created with:
https://dwaves.de/scripts/bench/bench_harddisk.sh
https://dwaves.de/scripts/bench/bench_ram.sh
https://dwaves.de/scripts/bench/bench_cpu.sh
run all tests:
https://dwaves.de/scripts/bench/bench.sh
/scripts/bench.sh ===== running a couple of benchmarks ============ CPU INFO processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 78 model name : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz ============ CPU MIPS and FLOPS bogomips : 4800.07 bogomips : 4800.07 bogomips : 4800.07 bogomips : 4800.07 ============ CPU BENCHMARK sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 9.9076s total number of events: 10000 total time taken by event execution: 39.6235 per-request statistics: min: 2.33ms avg: 3.96ms max: 14.33ms approx. 95 percentile: 4.01ms Threads fairness: events (avg/stddev): 2500.0000/4.30 execution time (avg/stddev): 9.9059/0.00 ====== RAM SPEED TESTING ... preparing ... running test 5 times ====== writing to RAM 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,279447 s, 3,8 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,27335 s, 3,9 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,273547 s, 3,9 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,274202 s, 3,9 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,273054 s, 3,9 GB/s ====== reading from RAM 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,179427 s, 6,0 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,165178 s, 6,5 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,163057 s, 6,6 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,162737 s, 6,6 GB/s 1024+0 Datensätze ein 1024+0 Datensätze aus 1073741824 Bytes (1,1 GB) kopiert, 0,162432 s, 6,6 GB/s ... cleaning up
liked this article?
- only together we can create a truly free world
- plz support dwaves to keep it up & running!
- (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
- really really hate advertisement
- contribute: whenever a solution was found, blog about it for others to find!
- talk about, recommend & link to this blog and articles
- thanks to all who contribute!
