AWS EBS Magnetic HDD storage I/O performance

2016-08-31

Using http://www.coker.com.au/bonnie++/ as a benchmark. Sequential write performance seems to be what the AWS magnetic EBS is best at.

AWS Setup

Local Setup

The size options here are double the systems RAM, this is to try to prevent reads from disk cache.

Results

AWS EBS VS Local HDD

Sequential IO Test   AWS EBS   Local Magnetic HDD
Write Block           20595           62549 
Read Block   10571   63776 
Rewrite Block   8109   30285 
Per Char        
Write Per Char   17273   585
Read Per Char   10213   2322 
Random Seeks   399   109.2 

Values are in Kb/s except for Random Seeks which is seeks/s.

Observations

Sequential write performance seems to be what the AWS magnetic EBS is best at, it reads at half the rate. Local HDD read/write is more symmetrical.

Inefficient I/O code (reading/writing one byte each I/O call) really hurts performance on local HDD, but on AWS EBS it seems this is mostly negated by the underlying virtualization technology doing the i/o.

In general Magnetic EBS is three times slower at writing and six times slower at reading data than a local HDD.

Not sure about seek performance see the notes below.

Notes

There are some differences in bonnie++ versions, also the filesystem on the local HDD was nearly full a the time of the tests.

Bonnie++ output

aws:

Version 1.03e       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
ip-172-31-12-48  2G 17273  29 20595   3  8109   1 10213  17 10571   0 399.5   1
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
ip-172-31-12-48,2G,17273,29,20595,3,8109,1,10213,17,10571,0,399.5,1,16,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++

 local:

Version  1.97       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
minerva         16G   585  90 62549  10 30285   5  2322  95 63776   7 109.2   3
Latency             22012us    2442ms    3533ms   19712us   32693us    1609ms
Version  1.97       ------Sequential Create------ --------Random Create--------
minerva             -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 18445  34 +++++ +++ +++++ +++ 27279  49 +++++ +++ 30763  45
Latency             14623us    1209us    1105us    1175us     438us     516us
1.97,1.97,minerva,1,1485665620,16G,,585,90,62549,10,30285,5,2322,95,63776,7,109.2,3,16,,,,,18445,34,+++++,+++,+++++,+++,27279,49,+++++,+++,30763,45,22012us,2442ms,3533ms,19712us,32693us,1609ms,14623us,1209us,1105us,1175us,438us,516us
t