Google Groups

AWS Elastic Block Storage benchmark

Rodrigo Campos Oct 17, 2012 5:15 AM
Posted in group: Guerrilla Capacity Planning
I've been working on benchmarking the IO performance of the AWS Elastic Block Storage for some time and recently published the results. You can read about the methodology and see the charts here:

Some interesting findings:

  • The same instance type shows a different behavior depending on the region that it is running, this is particularly critical if you depend on multiple regions for disaster recovery or geographical load balancing
    • One could argue that now you can used EBS Optimized instances to overcome this "problem", I've not tested these instances yet and not every instance type has this feature available
  • Generally speaking perfomance is better and more consistent in the South America region when compared to Virginia, this is probably due to the fact that SA region was the latest to be deployed. Maybe the SA datacenter uses new server models or it is just underutilized, but this is a wild guess
  • Write performance for the medium instance type in Virginia abruptly decays, droping from almost 400 call/s to something around 300 calls/s, this is not very clear in the scatter plot but if you draw a time-based chart you can clearly see this pattern. This is the main reason you see two spikes in the density chart.
    • Read performance in the SA small instance show a similar behavior.
  • Small instances definitely should not be used for disk IO bound applications since its behavior is rather erratical even for read operations, this is particularly true in the Virginia region

I've done the very same tests on several VPS providers here in Brazil and found some disturbing results. In one case the read and write performance simply plummets at 03:00AM, probably due to backup or maintenance procedures.

Here's a link to the raw data as well as the R script used to create the charts, feel free to send comments and suggestions.

Please note that the R script included in this tarball is not compatible with the latest version of iomelt, it is a really quick hack to make it compatible though.

Best Regards,
Rodrigo Campos