bonnie #4

Supports: precise
Add to new model


A subordinate charm that executes Bonnie++


Bonnie++ is a program to test filesystems and hard drivess for performance or
the lack therof. 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. This particular charm is a subordinate

Summary of tests

The first 6 tests are from the original Bonnie: Specifically, these are the
types of filesystem activity that have been observed to be bottlenecks in
I/O-intensive applications

Test Details

The file IO tests consist of the following:
* Sequential Output
* Sequential Input
* Random Seeks

Charm Options

The charm for Connie++ allows Bonnie++ to run as a smoke, lite, full, and a
performance test.

  • Smoke Test: A quick test that makes a quick and simple call to bonnie++.
  • Lite: A short run of bonnie++
  • Full: A thorough test for the local filesystem
  • Analysis: A performance test of the filesystem


This charm is a subordinate charm. Here is an example of how to deploy bonnie
with the Ubuntu charm.

To deploy:

juju bootstrap
juju deploy ubuntu
juju deploy bonnie
juju add-relation ubuntu bonnie

The results are located in the /tmp/Results-{Date and Time} directory. The best
way to access the results is to do the following:

juju ssh 0
cat /tmp/Results-{Date and Time}/results-{Date and Time}-.log

NOTE {Date and Time} refers to the specific time bonnie++ was executed


The primary output is plain-text in 80 columns which is designed to fit well
when pasted into email and which will work well with Braille displays. The
second type of output is CSV (Comma Seperated Values).

Example Results file for a smoke test:

Using uid:0, gid:0.
Writing a byte at a time...done
Writing intelligently...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...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.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -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
ubuntu-sample-b 16M   701  95 +++++ +++ +++++ +++  5119  96 +++++ +++  1396   3
Latency             51049us     175us     109us    2740us     100us   12042us
Version  1.96       ------Sequential Create------ --------Random Create--------
ubuntu-sample-bonni -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max            /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
       1:65536:0/16   155   0 +++++ +++ +++++ +++   452   2 +++++ +++ +++++ +++
Latency               144us     284us     168us     346us     226us      56us

Reference Links:
Bonnie++ Documentation


(string) Type of bonnie++ test to run, smoke, lite, full, performance, or custom.