IDE RAID Comparison

by Matthew Witheiler on June 18, 2001 4:31 AM EST

Performance: AMI MegaRAID 100

As we discussed before, the AMI MegaRAID is a software RAID solution that makes use of the American Megatrends MG80649 controller. To describe the performance of the RAID cards at different stripe sizes, we decided to make line graphs out of the Iometer results at a medium I/O load (64 outstanding I/Os). We found that this I/O load provided a good representation of what occurs at different stripe sizes on each RAID card. The complete set of data, including the scores at both the light and high I/O loads, are found at the end of the section for those wanting the full story. We will begin with the MegaRAID 100's I/O per second performance and continue with the other scores.

As the line graphs above clearly show, the optimal stripe size with regard to I/O per second performance is 512KB. This is represented on the graphs by the peak present at this stripe size, which forms the graph into a curve. The file server access pattern resulted in 118.55 I/Os per second, while the database access patter resulted in 126.62 I/Os per second and the workstation pattern in 134.47 I/Os per second.

Once again we find that the performance of the AMI MegaRAID 100 peaks at around a stripe size of 512KB when evaluating the total MBs. This is illustrated on the graphs with the peak of the curved lines occurring at this stripe size. The array was able to output .99 MBs per second in the database access pattern, 1.05 MBs in the workstation access pattern and 1.28 MBs in the workstation access pattern.

The trend continues with I/O response time. Once again, the AMI MegaRAID 100 seems to prefer the 512KB stripe setting. This allows the card to have a 237.934 I/O response time in the workstation access pattern, a 252.682 I/O response time in the database access pattern, and 269.887 I/O response in the file server pattern.

CPU utilization does jump around quite a bit at various stripe settings, as the above graph shows. The important item to note is the overall decreasing trend in % CPU utilization as the stripe size increases. This is likely due to the fact that at larger stripe sizes, not as many files need to be divided into stripes meaning that the CPU has to do less calculations. We do note that CPU utilization at the 512KB stripe size that has given us good results was higher than the surrounding stripe sizes. This shows that the CPU is actually doing quite a bit of work at this stripe size. CPU utilization ranged from 2.17% to 2.28% at this stripe size.

Now it is time to move to the real world benchmarks. Let's see if what Iometer told us has any bearing on application performance.

Just as we suspected. Although the performance differences are rather small, the 512KB stripe size setting provides for the fastest Winstone score. It seems that the performance advantages that the 512KB stripe setting showed in Iomter were able to result in a very slight real world performance advantage.

The following table includes the results of all tests we performed on the AMI MegaRAID 100.

Software RAID vs. Hardware RAID: Behind the Scenes Complete Performance: AMI MegaRAID 100
Comments Locked

2 Comments

View All Comments

  • kburrows - Thursday, December 4, 2003 - link

    Have you run any tests on any onboard RAID solutions for RAID 0 & 1? I would love to see the results posted for the new SATA RAID on the Intel 875 boards.
  • Anonymous User - Sunday, August 17, 2003 - link

    In adressing the performance of an raid array with different stripe sizes, you miss an important factor, namely the accestime of an disk. This wait time has two main couses. First the head positioning and second the rotational latency (the heads track the right trace, but position where the read start has not passed under the head). You may have to wait from 0 to (in the worst case) a full cycle.
    Since the disks move independently You can calculate that the average latency to get an small file is minimal when the stripe size is about an full cycle of an disk in the array (aprox. 250kB today). All other factors I do know do not reduce this. (controller overhead, transport,...)
    So I think that today a minimum stripe size of 256kB should be used.

Log in

Don't have an account? Sign up now