Disk IO and throughput benchmarks on Amazon's EC2
stu.mp
stu.mp
I'm not complaining. EC2 has been incredibly valuable and I could tack on many positive adjectives - consistent just would not be one of them for me.
http://docs.amazonwebservices.com/AWSEC2/2007-08-29/Develope...
gracie:~# time dd if=/dev/zero of=/dev/sdl bs=1024k count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 344.745 seconds, 31.1 MB/s
real 5m44.748s
user 0m0.025s
sys 0m10.152s
gracie:~# time dd if=/dev/zero of=/dev/sdl bs=1024k count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 217.106 seconds, 49.5 MB/s
real 3m37.125s
user 0m0.023s
sys 0m10.268s
gracie:~# time dd if=/dev/zero of=/dev/sdl bs=1024k count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 247.319 seconds, 43.4 MB/s
real 4m7.323s
user 0m0.036s
sys 0m9.794s
EDIT: I ran it a third time just to make sure the results held. I'd still take this with a grain of salt, in my experience EBS i/o results are pretty inconsistent.I continue to be a big fan of Heroku because it saves me so much time, but I have been having limited success getting customers to go with Heroku - they seem to want to pay for custom EC2 setups.
BTW, one huge advantage of running on EC2 is that it is so easy to run an old version of a system to test against. I moved my own reserved instance from booting on an ephemeral drive (out of S3) to booting off of EBS. I only deployed what I currently need, and will always have the old version around to test against, check a bootup script, etc.
Ephemeral disks offer more predictable performance, especially on the largest instances, however they will not provide the random iops of a raid set of EBS volumes.
Vacuums use sequential IO, so it makes sense that you max out pretty quickly.
No
> What size instances do you use?
Databases are m1.xlarge.