Learning to use IO Analyzer


I want to learn more about testing performance.  One of my bosses asked me if the newer array firmware was faster or not.  I said yes, it felt faster and she was happy.  But I would like to have better – and more empirical – information so when I said yes next time, I could provide better data.

I played with a tool called Crystal Diskmark that someone mentioned. It works at doing a simple test of performance and giving some numbers.  So useful at reporting what the performance was at that point in time.

A friend of my is using IO Analyzer from VMware to push his arrays and see how they perform with different configurations.

I will get IO Analyzer going and see how it goes.


  • You need both the bits, and documentation from IO Analyzer.  BTW, the doc talks about a zip file but all I got was a .tgz file. Which when I extracted I had a .tar file.  Which when I extracted I had a bunch of .rpm files. The doc talks about a zip file that has within it an .ova file. So investigating finds I downloaded a tarball that may be an update.  It is not what I was supposed to download.  So make sure you download, from the link above a ZIP file.  You get that when you do the agree and download thing.  It is roughly 2.8 GB.
  • You will need a service account that IO Analyzer can use to collect performance information from ESXi or vCenter.


Once you have the zip file down and extracted we are ready to begin.  You can see below I have the file download and being extract.  You can see that an .ova is what is being extracted.


  • We start things off by deploying the OVA file.
  • It is best to install the tool on a storage array or datastore that is NOT being tested.
  • Make sure to provide simple name with letters, numbers and dashes only.
  • Do not let it power on.  If you miss that shut it down.
  • After the appliance is deployed, Edit Settings so that we can remove a disk and add one.
  • We need to remove the 100 MB disk as it is too small for good performance testing.  At that size it can be completely cached by many storage arrays.


  • I will replace the 100 MB disk with a 25 GB disk.
  • We need to log in on the console to allow the web application to work.  Seems odd to me.  When I log in – using root and vmware as the credentials I get this.


  • So without logging out, we should check the IO Analyzer web page now.
  • Access it at http://IP_address.  You will see something like mine below.


So we have IO Analyzer installed now.  We could do some basic testing with this but it will be better if we have another IO Analyzer appliance deployed.  If you can do that, migrate the first one to storage that will not be under test.  Then deploy another one – remember to give it another disk to replace the 100 MB one.  Once that is done continue with Workload Configuration.  It is possible that you might have more then a handful of the secondary type of appliances – called workers – when you are doing heavy duty testing.

Workload Configuration

Before we can schedule a test we need to configure a workload that the test will use.

  • Select Workload Configuration from the main menu – home screen.
  • We have a screen how where we need to make a number of selections.


  • You add in hosts, as seen above.
  • Next is you add in a worker VM.  As you can see above I selected one called ioa-1.  The list of VMs you have to choose from depends on the hosts defined above.
  • The Test Type will normally be Iometer but can also be Trace Replay if you have a trace to replay.
  • The Workload is where it gets complicated for me.  However it is good to know that whatever you select in the Workload dropdown list has a mouse over to the right – where it says Overview and you can learn what it is.
  • Lets use 32k_50read_100rand which means this test will generate 32k random IO with 50% probability of Read IO. Number of outstanding IOs is set to 16.
  • You can see my configuration below.


  • We use the Add button and we can see down below where it is added to the worker VM.
  • You should name your workload and put some sort of description in and Save it.


So we are now ready to schedule a test.  You can have a range of workload configuration that you can use at different times.  We are working with one worker VM here, but there can be more then one.  In fact, if you really want to push an array hard you might need quite a free VMs.

Schedule a Test

At the top of the screen you can see icons for everything.


You need to select the one that looks like a clock.


  • Since I have only one config it is seen here.
  • I use the Get Current Server Time button, followed by
  • the Schedule Test.


You can see at the bottom, in Test Manager the status of the test. As this was like a run now it uses duration field.  So 120 seconds.


Note the blue results hotlink?

View Results

When the test is finished you can use the results hotlink to view the results.


You can download the results, archive them or view them.  There is four yellow areas that you can expand and view.


So this should get you started with IO Analyzer.  I think you will find it is a professional grade performance tool for people that are serious about performance.  Which I think might leave me out.


=== END ===

Leave a Reply