Linux hard drive benchmark & bottleneck testing software suite for performance

last updated in Categories Download of the day, Linux, Monitoring, Sys admin, Tips, Tuning

The stress test of hardware (hard drive benchmarks) is a simplistic test. There are a number of benchmarking applications software that can be used as hard disk (storage) stress testing. My favorite is Bonnie++ software.


From the project home page:
Bonnie++ is a benchmark suite that is aimed at performing a number of simple tests of hard drive and file system performance. Then you can decide which test is important and decide how to compare different systems after running it. I have no plans to ever have it produce a single number, because I don’t think that a single number can be useful when comparing such things.

There are a many different types of file system operations which different applications use to different degrees. Bonnie++ tests some of them and for each test gives a result of the amount of work done per second and the percentage of CPU time this took. For performance results higher numbers are better, for CPU usage lower are better.

It test more than 2Gb of storage on 32-bit machines, and tests for file creat(), stat(), unlink() operations.

Install bonnie++ for Linux hard drive benchmark test

Download from official web site or use apt-get to install bonnie++:
# apt-get install bonnie++

Source code installation

Download source code and compile as follows:
$ cd /tmp
$ wget
$ tar -zxvf bonnie++-1.03a.tgz
$ cd bonnie++-1.03a
$ ./configure
$ make
# make install

How do I use bonnie++?

Simply type bonnie++ or bonnie:
$ bonnie++
$ bonnie

Writing with putc()...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
server1          4G 22983  48 17804   7  8880   2 28170  49 32778   4 101.3   0
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
server1,             4G,22983,48,17804,7,8880,2,28170,49,32778,4,101.3,0,16,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++

Caution:This test can put very high load on the disk subsystem make sure you schedule test and inform users.

You can learn about output and result here. Read man page of bonnie for more information.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

6 comment

  1. why are there these +++++ in the picture of this test????
    if somebody knows tell me please!!!!
    it is very important for me!!!

  2. +++++ instead of a real number per second. This happens when that particular benchmark completes too quickly.

  3. But there are some things completet more quickliy than these things!!!
    I already knew that!!!

  4. This is badly outdated. Read the manual for newer information and usage info. If you follow this, it’ll build but won’t run.

    Have a question? Post it on our forum!