≡ Menu

Linux hard drive benchmark & bottleneck testing software suite for performance

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 http://www.coker.com.au/bonnie++/bonnie++-1.03a.tgz
$ 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++
OR
$ bonnie
Output:

Writing with putc()...done
Writing intelligently...done
Rewriting...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.

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

Comments on this entry are closed.

  • Ad Manager August 4, 2008, 5:59 pm

    Care to explain the output for your example?

  • Ppaul October 10, 2010, 1:14 pm

    I am finding something for Centos, non-debian based.

  • Toni XD May 3, 2011, 6:56 am

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

  • daniel May 31, 2011, 7:17 pm

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

  • Toni XD June 3, 2011, 5:16 pm

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

  • Anonymouse May 1, 2012, 8:50 pm

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