Linux hard drive benchmark & bottleneck testing software suite for performance

Posted on in Categories Download of the day, Linux, Monitoring, Sys admin, Tips, Tuning last updated December 31, 2006

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 and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

6 comment

Leave a Comment