Advertisment

New TesterTools – Bonnie

Bonnie is a benchmark which measures the performance of Unix file system operations. Bonnie is concerned with identifying bottlenecks; the name is a tribute to Bonnie Raitt, who knows how to use one.Bonnie is not the biggest nor most comprehensive of such programs, but is unequaled (though I say so myself) in its combination of ease-of-use and usefulness-of-output.

Why Bonnie?

I believe that:

* memory is in short supply, so caches max out, thus
* many I/O operations end up really doing I/O, thus
* it’s worthwhile to try to measure real I/O speeds, and
* random seeks on Unix filesystems are appallingly slow.

What Bonnie Does

Bonnie performs a series of tests on a file of known size. If the size is not specified, Bonnie uses 100 Mb; but that probably isn’t enough for a big modern server – you your file to be a lot bigger than the available RAM

Bonnie works with 64-bit pointers if you have them.

For each test, Bonnie reports the bytes processed per elapsed second, per CPU second, and the % CPU usage (user and system).

In each case, an attempt is made to keep optimizers from noticing it’s all bogus. The idea is to make sure that these are real transfers between user space and the physical disk. The tests are:
1. Sequential Output

1.1 Per-Character

The file is written using the putc() stdio macro. The loop that does the writing should be small enough to fit into any reasonable I-cache. The CPU overhead here is that required to do the stdio code plus the OS file space allocation.

1.2 Block

The file is created using write(2). The CPU overhead should be just the OS file space allocation.

1.3 Rewrite

Each Chunk (currently, the size is 16384) of the file is read with read(2), dirtied, and rewritten with write(2), requiring an lseek(2). Since no space allocation is done, and the I/O is well-localized, this should test the effectiveness of the filesystem cache and the speed of data transfer.

2. Sequential Input

2.1 Per-Character

The file is read using the getc() stdio macro. Once again, the inner loop is small. This should exercise only stdio and sequential input.

2.2 Block

The file is read using read(2). This should be a very pure test of sequential input performance.

3. Random Seeks

This test runs SeekProcCount (currently 4) processes in parallel, doing a total of 4000 lseek()s to locations in the file computed using by random() in bsd systems, drand48() on sysV systems. In each case, the block is read with read(2). In 10% of cases, it is dirtied and written back with write(2).

The idea behind the SeekProcCount processes is to make sure there’s always a seek queued up.

AXIOM: For any unix filesystem, the effective number of lseek(2) calls per second declines asymptotically to near 30, once the effect of caching is defeated. [ I wrote the previous sentence in about 1988, and it's a bit better now, but not much ]

The size of the file has a strong nonlinear effect on the results of this test. Many Unix systems that have the memory available will make aggressive efforts to cache the whole thing, and report random I/O rates in the thousands per second, which is ridiculous. As an extreme example, an IBM RISC 6000 with 64 Mb of memory reported 3,722 per second on a 50 Mb file. Some have argued that bypassing the cache is artificial since the cache is just doing what it’s designed to. True, but in any application that requires rapid random access to file(s) significantly larger than main memory which is running on a system which is doing significant other work, the caches will inevitably max out.

For more information on this tool click here

View TesterTools dedicated page for this tool.

Share and Enjoy:
  • Print this article!
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BlinkList
  • LinkedIn
  • Netvibes
  • NewsVine
  • Turn this article into a PDF!
  • StumbleUpon
  • Yahoo! Buzz

Did you enjoy this post?

If so, would you please consider sharing it with the world

4 Responses to “New TesterTools – Bonnie”

  1. Yes… i also really like to visit new place, your idea is good.

  2. Thanks very good for report, I follow your blog

  3. a informative great read by you hope to come back more really soon.

Leave a Reply




Advertisment
My Twitter Friends
Friends: Followers:
List of Tools to Benchmark Twitter Traffic Feature in Hypebot Article

0

Comments

Add

List of Tools to Benchmark Twitter Traffic Feature in Hypebot Article

Hypebot.com have featured a great article on Benchmarking tools for Twitter Use.
In the Article, titled  3 Top Twitter Tools To Measure & Grow Traffic, the sites some exciting tools that can measure users and traffic volumes.

In the challenging terrain of 2012 that lies before us, understanding the impact of our social media activities is

Gcn.com announce New Algorithm Tools by NIST

0

Comments

Add

Gcn.com announce New Algorithm Tools by NIST

According to gcn.com, The National Institute of Standards and Technology has developed algorithms for automated testing of the multiple variables in software that can cause security faults, and has released a tutorial for using the tools.
The improper or unexpected interaction of two or more parameters in a piece of software, such as inputs or

Debugging Dynamic Memory with Dynamic Memory Solutions in Multi-threaded Applications

0

Comments

Add

Debugging Dynamic Memory with Dynamic Memory Solutions in Multi-threaded Applications

Dynamic Memory Solutions have updated their code debuggers to now find dynamic memory bugs. The companies new product includes improved Leak Check and Memory Minder functionality that can help you exterminate dynamic memory bugs in software quickly and easily.
Dynamic Memory Solutions, a developer of C/C++ software testing tools, leverages software technology to automate the

New TesterTools – IOzone

0

Comments

Add

New TesterTools – IOzone

IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.
Iozone is useful for performing a broad filesystem analysis of a vendor’s computer platform. The benchmark tests file I/O performance for the following operations:
Read, write, re-read, re-write,

New TesterTools – Bonnie

4

Comments

Add

New TesterTools – Bonnie

Bonnie is a benchmark which measures the performance of Unix file system operations. Bonnie is concerned with identifying bottlenecks; the name is a tribute to Bonnie Raitt, who knows how to use one.Bonnie is not the biggest nor most comprehensive of such programs, but is unequaled (though I say so myself) in its combination of

New TesterTools – Microsoft Web Capacity Analysis Tool

2

Comments

Add

New TesterTools – Microsoft Web Capacity Analysis Tool

The IIS 6.0 Resource Kit Tools can help you administer, secure, and manage IIS. Use them to query log files, deploy SSL certificates, employ custom site authentication, verify permissions, troubleshoot problems, migrate your server, run stress tests, and more.

The following tools are available in this package:
* IIS 6.0 Migration Tool Version 1.0
* Apache to IIS

New Testertools – Motherboard Monitor

2

Comments

Add

New Testertools – Motherboard Monitor

This handy utility will monitor your motherboard and provide you with information about your motherboard`s temperature, voltages, fan speeds ,CPU temperature and more.
Download from Shareware Connection Software Portal
Download Link 1
Click here for more info.

New Testertools – Cache Burst 32

0

Comments

Add

New Testertools – Cache Burst 32

CacheBurst32 is a diagnosis and benchmarking utility designed to measure bandwidth and latency of computer memory and cache subsystem
To download Cache burst 32 click here (48 KB., Freeware, Win9x/Me/NT/2k/XP).

New Testertools – HD Speed

1

Comments

Add

New Testertools – HD Speed

Measures both sustained and burst data transfer rates of your hard disks, cd/dvd-roms and floppy. Realtime graphical display.
Click here for more info.

New Testertools – CPU-Z

0

Comments

Add

New Testertools – CPU-Z

CPU-Z is a freeware detection program base on the Panopsys hardware detection engine.
CPU

Name and number.
Core stepping and process.
Package.
Core voltage.
Internal and external clocks, clock multiplier.
Supported instructions sets.
Cache information.

Mainboard

Vendor, model and revision.
BIOS model and date.
Chipset (northbridge and southbridge) and sensor.
Graphic interface.

Memory

Frequency and timings.
Module(s) specification using SPD (Serial Presence Detect) : vendor, serial number, timings table.

System

Windows and