AWS EBS Magnetic HDD storage I/O performance
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
- 20Gb Magnetic HDD EBS volume
t1.micro
instance in availability zone: eu-west-1b- command
bonnie++ -s 2G -d /mnt/data/tmp
Local Setup
- 750Gb Toshiba Magnetic HDD 5200 RPM, 8mb buffer
- Core 2 Duo P7550 2.26Ghz , 8Gb RAM
- command
bonnie++ -s 16G -d /tmp
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 | 20,595 | 62,549 | ||
Read Block | 10,571 | 63,776 | ||
Rewrite Block | 8,109 | 30,285 | ||
Per Char | ||||
Write Per Char | 17,273 | 585 | ||
Read Per Char | 10,213 | 2,322 | ||
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