A often asked question is whether one should use an Amazon EC2 t1.micro instance or a VMWare ESXi 5.0 server at home. For this test I decided to use the Linux 64-bit version of Geekbench by Primate Labs which is a fairly popular benchmark that does a decent job of quickly profiling the performance of environments. I had planned to do this piece using an older version of GeekBench a few months ago, but I saw some performance anomalies that had performance well below what I expected. I took a look back four months later and I think the results are more in-line with what I was expecting. Here is the big question for many users, should I build my own server using ESXi 5.0 or use the Amazon cloud for development and testing work. I think that there a few really good reasons to go with the Amazon EC2 cloud over a build-your-own approach as moving things into production are much easier and Amazon is building a fairly robust infrastructure behind its cloud offerings that do allow massive scale-out. A lot of people think that anything in the cloud must be faster, even if they are paying $0.02/ hour or $0.48/ day. For one or two develoment instances, Amazon’s EC2 offering is very compelling. For those wondering, this site has been running in the Amazon EC2 cloud for about a year now and I do maintain one development instance for testing.
I started out this test looking at what kind of hardware my EC2 t1.micro instance in the US EAST region was running and saw an Intel Xeon E5430 which is a 2.66GHz LGA 771 CPU that first appeared in late 2007.
Double checking Geekbench’s output I did cat /proc/cpuinfo to see what was under the hood of the t1.micro instance:
[ec2-user@domU Geekbench-2.3.3-Linux]$ sudo cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5430 @ 2.66GHz
stepping : 6
microcode : 0x60c
cpu MHz : 2659.998
cache size : 6144 KB
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu tsc msr pae cx8 cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht pbe syscall nx lm constant_tsc up arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm dts tpr_shadow vnmi flexpriority
bogomips : 5319.99
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
As for performance of the Amazon EC2 t1.micro instance, the benchmarks are much improved over the first time I ran the tests in March:
For the results in an easier-to-read online viewer, one can see my latest Amazon EC2 t1.micro instance results here. Of course, the question is, how does this compare to something you could have at home.
Since this is a budget instance, I decided to pit it against the $1,000 ESXi 5.0 dual Opteron 6128 machine. Now this was clearly not going to be a fair fight. An instance that running 24×7 would cost about $175 not including storage against a $1,200 server. Plus the AMD Opteron 6128 is just over half he age of the Intel Xeon E5430, still, we do know that Amazon does not give its AWS customers a full Intel Xeon E5430 core for $0.02/ hour. Still, with power and a few other goodies thrown in (such as massive storage for snapshots.) The cost of this server with power is much lower than eight Amazon EC2 t1.micro instances. Here are the quick specs:
- CPUs: 2x AMD Opteron 6128
- Motherboard: Supermicro H8DG6-F
- Memory: 8x 4GB Kingston unbuffered ECC 1333MHz DIMMs
- SSD: OCZ Vertex 3 120GB
- Power Supply: Corsair AX650 650w 80 Plus Gold
- Chassis: Norco RPC-450B – $80
- Cooling: 2x Dynatron A1 G34 Coolers
A bit of shopping for used components is required to keep the cost below $1,200, but as can be seen in the dual Opteron 6128 link above, my costs were under $1,200. Now what does the performance look like of a single Opteron 6128 versus the Amazon EC2 t1.micro instance?
For a comparison on the Geekbench site, see here, but we are going to look at the relative performance differences. The EC2 t1.micro instance is faster in the majority of CPU benchmarks. In terms of memory performance, the single AMD Opteron Magny Cours 2.0GHz core is quite a bit faster than the Amazon EC2 t1.micro instance’s Intel Xeon E5430 platform which makes sense because the Intel Xeon platform is an older generation with dual channel memory versus the AMD Opteron quad channel memory controller.
I will be looking at quite a few more instances in the near future, but looking at the bottom tier Amazon EC2 t1.micro instance’s benchmark results, performance is actually fairly close between the t1.micro instance and the AMD Opteron 6128 single core. If we were to call these about even, then the break even point of running multiple t1.micro instances versus a low-cost VMware ESXi development box is somewhere in the range of eight EC2 t1.micro instances always on for a year.