89

When I launch an instance on EC2, it gives me option for t1.micro, m1.small, m1.large etc. There is a comparision chart of vCPU, ECU, CPU cores, Memory, Instance store. Is this memory RAM of a system ?

enter image description here

I am not able to understand what all these terms refer to, can anyone give me a clear picture of what these terms mean ?

Prats
  • 1,515
  • 6
  • 16
  • 30

4 Answers4

75

ECU = EC2 Compute Unit. More from here: http://aws.amazon.com/ec2/faqs/#What_is_an_EC2_Compute_Unit_and_why_did_you_introduce_it

Amazon EC2 uses a variety of measures to provide each instance with a consistent and predictable amount of CPU capacity. In order to make it easy for developers to compare CPU capacity between different instance types, we have defined an Amazon EC2 Compute Unit. The amount of CPU that is allocated to a particular instance is expressed in terms of these EC2 Compute Units. We use several benchmarks and tests to manage the consistency and predictability of the performance from an EC2 Compute Unit. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation. Over time, we may add or substitute measures that go into the definition of an EC2 Compute Unit, if we find metrics that will give you a clearer picture of compute capacity.

E.J. Brennan
  • 45,870
  • 7
  • 88
  • 116
  • 1
    What does this mean: One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. Could you please explain it. – Prats Oct 09 '13 at 08:58
  • Is this memory the RAM of instance? – Prats Oct 09 '13 at 09:01
  • 7
    It is simply a unit for CPU comparison between instances. It is not an actual CPU (physical unit), just if you have 5 ECU instance and 20 ECU instance, the latter is 4 times stronger in terms of CPU power. – Guy Oct 09 '13 at 15:57
  • @Guy So, if I launch a m1.small instance which is having a configuration of 1 ECU, 1 core and 1.7 GB memory than can I say that I have a computer with 1.0-1.2 GHz 2007 Opteron/Xeon processor which is a single core and having a RAM of 1.7 GB? – Prats Oct 10 '13 at 05:29
  • 2
    You will have a single core with a power equivalent to the above CPU. The actual processor is "Intel Xeon Family" as you can see here: http://aws.amazon.com/ec2/instance-types/#instance-details – Guy Oct 10 '13 at 08:30
  • @Guy Ok now I am clear about ECU, but what does this 1.7 GB of memory refers to, is it the RAM? – Prats Oct 10 '13 at 10:01
  • 1
    @Prats Yes, this is RAM – Guy Oct 11 '13 at 08:32
  • @Guy Thank you for solving my queries – Prats Oct 15 '13 at 05:21
  • 7
    The above information with reference to specific CPU types equivalents is removed from AWS FAQ. – javadude Jan 21 '14 at 11:35
29

For linuxes I've figured out that ECU could be measured by sysbench:

sysbench --num-threads=128 --test=cpu --cpu-max-prime=50000 --max-requests=50000 run

Total time (t) should be calculated by formula:

ECU=1925/t

And my example test results:

|   instance type   |   time   |   ECU   |
|-------------------|----------|---------|
| m1.small          |  1735,62 |       1 |
| m3.xlarge         |   147,62 |      13 |
| m3.2xlarge        |    74,61 |      26 |
| r3.large          |   295,84 |       7 |
| r3.xlarge         |   148,18 |      13 |
| m4.xlarge         |   146,71 |      13 |
| m4.2xlarge        |    73,69 |      26 |
| c4.xlarge         |   123,59 |      16 |
| c4.2xlarge        |    61,91 |      31 |
| c4.4xlarge        |    31,14 |      62 |
Mariusz Sawicki
  • 311
  • 3
  • 6
  • For sysbench version 1.1.0 the command needs to be: sysbench --threads=128 --cpu-max-prime=50000 --events=50000 cpu run – nickcrabtree Aug 01 '19 at 14:42
22

Responding to the Forum Thread for the sake of completeness. Amazon has stopped using the the ECU - Elastic Compute Units and moved on to a vCPU based measure. So ignoring the ECU you pretty much can start comparing the EC2 Instances' sizes as CPU (Clock Speed), number of CPUs, RAM, storage etc.

Every instance families' instance configurations are published as number of vCPU and what is the physical processor. Detailed info and screenshot obstained from here http://aws.amazon.com/ec2/instance-types/#instance-type-matrix

vCPU Count, difference in Clock Speed and Physical Processor

Naveen Vijay
  • 15,928
  • 7
  • 71
  • 92
  • 6
    Naveen, good of you to mention this but Amazon has not replaced ECU with vCPU, they are listing both ECU and vCPU now for instance types on their pricing page. Note that burstable types like t2.micro, have 1 or 2 vCPU but can bank up to 144+ credits of CPU credit. (where one CPU credit is equal to one vCPU running at 100% utilization for one minute. ) Sources: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-instances.html and http://aws.amazon.com/ec2/pricing/ – Deemoe Mar 11 '15 at 19:29
12

ECUs (EC2 Computer Units) are a rough measure of processor performance that was introduced by Amazon to let you compare their EC2 instances ("servers").

CPU performance is of course a multi-dimensional measure, so putting a single number on it (like "5 ECU") can only be a rough approximation. If you want to know more exactly how well a processor performs for a task you have in mind, you should choose a benchmark that is similar to your task.

In early 2014, there was a nice benchmarking site comparing cloud hosting offers by tens of different benchmarks, over at CloudHarmony benchmarks. However, this seems gone now (and archive.org can't help as it was a web application). Only an introductory blog post is still available.

Also useful: ec2instances.info, which at least aggregates the ECU information of different EC2 instances for comparison. (Add column "Compute Units (ECU)" to make it work.)

tanius
  • 14,003
  • 3
  • 51
  • 63