[nycbug-talk] Measuring Disk Performance

Pete Wright pete at nomadlogic.org
Mon Dec 12 19:31:13 EST 2011


On Mon, Dec 12, 2011 at 11:57:41AM -0500, Isaac Levy wrote:
> Hi All,
> 
> Disks: I need to measure disk performance across heterogeneous UNIX boxes, and I'm sick of bonnie++ for a bunch of reasons I won't' waste time on here.
> 
> I know from conversations that a few folks here have their own ways of testing disks-
> 
> I'd really like to know what people do to measure general disk performance?  e.g. really simple tests:
> 
>   - r/w/d large files
>   - r/w/d small files
>   - disk performance when directories contain large numbers of files
> 
> I commonly have need to test things like:
>   - different block sizes
>   - different inode allocations (UFS/ext3
>   - different filesystem partition layouts
>   - different filesystem features (think ZFS fun)
> 
> Any thoughts, experiences, urls or shell utils to share?
> 

hey ike!
there is actually a pretty decent chapter on measuring disk and
filesystem performance in "High Performance PostgreSQL 9.0".  they talk
about using a tool, bundled with bonie++, called zcav that will track
transfer rates from the begining to end of a disk subsystem.  it also
will output data into gnuplot friendly format for pcitures.  i used this
quite extensivly while tuning a linux dataware house a while back.

other tools that I'm happy with are iozone and fio:

http://www.iozone.org/
http://freecode.com/projects/fio

i find that when doing benchmarking of systems for eval purposes or
benchmarking i end up using a mixture of many different tools.  i find
that differnent tools will stress different parts of a given i/o
subsystem.  so i'd generally do something like:

- initial test using dd with variable blocksizes (dependent upon
underlying filesystem block size)
- several bonie++ tests, followed by some tests using iozone and fio
- depending on how system will be used in production i try some
  application level tests.  for a db - pgbench, webserver apache bench
  etc..

I have also done some interesting testing using this package written in
erlang that does a good job in generating load on a wide range of
appliation called Tsung:
http://tsung.erlang-projects.org/

Hope This Helps!
-pete

-- 
Pete Wright
pete at nomadlogic.org




More information about the talk mailing list