System Administration
cancel
Showing results for 
Search instead for 
Did you mean: 

Testing Disk I/O Performance

SOLVED
Go to solution
Jorge Cocomess
Super Advisor

Testing Disk I/O Performance

Hi,

Does anyone know how I can test my local attached disk storage by writing & reading and captured the disk I/O??

I am currently running RHAS 3.0 ia64 server.

Thank you in advance.

Jorge
15 REPLIES
Ivan Ferreira
Honored Contributor
Solution

Re: Testing Disk I/O Performance

You can use iometer
http://www.iometer.org/

iozone
http://www.iozone.org/

Or a simple dd to create a 1GB file and meassure the time

time dd if=/dev/zero of=/dev/sd bs=8192 count=131072

Remember this dd is command destructive.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

Ivan,

I've checked out your recommandations. Unfortunately, iometer doesn't support IA64 at this time. However, the iozone does, I think. Would you know how to use the IOzone utility?

Thanks,
Jorge
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

Here's the result after I can the dd test command.

time -p dd if=/dev/raw/raw4 of=/dev/null bs=1024k

dd: reading `/dev/raw/raw40': No such device or address
262146+1 records in
262146+1 records out
real 1633.71
user 0.23
sys 59.88

It came back with results even though it said it couldn't find the device. Can someone let me know how to read these numbers?

Thank you!!

Jorge
Ivan Ferreira
Honored Contributor

Re: Testing Disk I/O Performance

time -p dd if=/dev/raw/raw4 of=/dev/null bs=1024k

dd: reading `/dev/raw/raw40': No such device or address
262146+1 records in
262146+1 records out
real 1633.71
user 0.23
sys 59.88


I think that it "does" find the device, but as you did not specified a "count" then it reached the end of the device.

Is this a device of 262GB aprox (262146 records of 1MB)? If so, then it took 27 minutes (16633/60) to read 262GB, that is about 164 MB/s (very good!).
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

Ivan,

You're correct. The partition was roughly around 274GB raw. How do you specified a "count" within the command line that I used ealier?

As you've indicated, the I/O seems to be good. I don't think 164 MB/s is good since the storage is built on a HP EVA5000 Storage. Shouldn't I be getting something like double or 3 times faster than my testing? We were getting about the same speed when our Oracle DB was running on the MSA1500 storage.

Any ideas where else I can look for some answers??

Thanks,
Jorge
Ivan Ferreira
Honored Contributor

Re: Testing Disk I/O Performance

The question would be, is storage limitating I/O or are you reaching another resource limit? Is your server fast enough to do a storage load test?

The storage sould be connected to a sanswitch, you could monitor the performance via portperfshow command of the sanswitch, and lauch a few "dd" in parallel to try to saturate I/O, to different LUNs. Check also your CPU resource usage and try different block sizes.

You could also try different I/O elevators:

http://www.redhat.com/magazine/008jun05/features/schedulers/
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
dirk dierickx
Honored Contributor

Re: Testing Disk I/O Performance

why don't you give bonnie a try?
http://www.garloff.de/kurt/linux/bonnie/
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

I ran another test on another disk volume just to see if there is a different. The results as follows:
time -p dd if=/dev/raw/raw47 of=/dev/null bs=1024k
dd: reading `/dev/raw/raw47': No such device or address
262138+1 records in
262138+1 records out
real 1562.16
user 0.25
sys 51.88

I will give other options you've suggested a look and let you all know.

Thanks,
Jorge
Ivan Ferreira
Honored Contributor

Re: Testing Disk I/O Performance

You don't need to read the whole device to do a performance test, reading/writing 1 GB would be enough to meassure the performance, you do that by specifying the block size and a count.

AFAIK, Oracle uses 8k block sizes, so, in my first example you can see:

time dd if=/dev/zero of=/dev/sd bs=8192 count=131072

time dd if=/dev/sd of=/dev/null bs=8192 count=131072

That is, read or write 8k 131072 times (8k*131072=1GB).

And the suggested test is to run in more than one dd at the same time to different devices.

Good luck.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

Okay, I got it. Here's the latest test result.

time dd if=/dev/sdad1 of=/dev/null bs=8192 count=131072
131072+0 records in
131072+0 records out

real 0m7.541s
user 0m0.067s
sys 0m3.436s


Can you tell me how to convert these numbers?

Thanks much!

Jorge
Ivan Ferreira
Honored Contributor

Re: Testing Disk I/O Performance

Very simple. It took 0m7.541s to read 1 GB of data with a 8k block size, that is 1024MB/7.513=135,8 MB/s.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Mike Stroyan
Honored Contributor

Re: Testing Disk I/O Performance

Be careful to measure I/O activity that is representative of what you really care about. It can be tempting to measure things that are easy to measure, even though they are not actually the same activities that you really want use the system for. I do value simple benchmarks for their ability to bring clarity. But they can mislead if you if they don't bottleneck in the same ways as the actual application load. Differences in buffer size or read-ahead predictibility or many other factors can cause very different results.
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

Ivan,

So, what you're saying is that from the test result, it was 135 MB/s?

Thanks,
Jorge
Jorge Cocomess
Super Advisor

Re: Testing Disk I/O Performance

Mike,

Thanks for your feedback. I am just trying to find a way to do the I/O comparison from the based test numbers before we migrate our DB from one SAN storage to another.

Thanks,
Jorge
dirk dierickx
Honored Contributor

Re: Testing Disk I/O Performance

using dd to measure io performance, you will only get a part of the true performance.
most disks will be able to read a sequence of data pretty fast, random access, write speeds etc are equally important.
that is why true benchmark tools are better suited.