What is surprising is that T2 instances can offer far higher performance than other low cost instances with fixed CPU performance.
Here is list of low cost AWS EC2 instances and their performance:
Instance Type | vCPUs | Memory | Linux Cost (Monthly) | Windows Cost (Monthly) | Cores | CorePerf | Memory (MB) | Network (Mbits/sec) | Storage Bandwidth (MB/sec) | Geekbench3 Single | Geekbench3 Multi | Comments | URL |
t2.micro | 1 cores | 1.0 GB | 14.4 | 14.4 | 1 | 0.1 | 1024 | 300 | 62.5 | 2549 | 2541 | 32 bit | https://browser.primatelabs.com/geekbench3/2801596 |
t1.micro | 1 cores | 0.613 GB | 14.4 | 14.4 | 1 | 1 | 614.4 | 200 | 62.5 | 1046 | 1325 | 64 bit | https://browser.primatelabs.com/geekbench3/546695 |
t2.small | 1 cores | 2.0 GB | 28.8 | 36 | 1 | 0.2 | 2048 | 300 | 62.5 | 2477 | 2466 | 64 bit | https://s3.amazonaws.com/cloudharmony/geekbench3_3_1_6/aws:ec2/t2.small/ebs/ap-southeast-2/2014-11-12/2627/368973-1/geekbench.html |
m1.small | 1 cores | 1.7 GB | 41.76 | 66.96 | 1 | 1 | 1740.8 | 300 | 62.5 | 771 | 763 | 64 bit | http://browser.primatelabs.com/geekbench3/523946 |
t2.medium | 2 cores | 4.0 GB | 57.6 | 72 | 2 | 0.4 | 4096 | 300 | 62.5 | 2626 | 5129 | 64 bit | https://browser.primatelabs.com/user/zorang |
m3.medium | 1 cores | 3.75 GB | 66.96 | 112.32 | 1 | 1 | 3840 | 300 | 62.5 | 1333 | 1299 | 32 bit | https://browser.primatelabs.com/user/zorang |
m1.medium | 1 cores | 3.75 GB | 84.24 | 134.64 | 1 | 1 | 3840 | 300 | 62.5 | 1472 | 1467 | 32 bit | http://browser.primatelabs.com/geekbench3/510203 |
c3.large | 2 cores | 3.75 GB | 95.04 | 171.36 | 2 | 2 | 3840 | 500 | 62.5 | 2527 | 3016 | 32 bit | https://browser.primatelabs.com/geekbench3/641598 |
c4.large | 2 cores | 3.75 GB | 103.68 | 175.68 | 2 | 2 | 3840 | 1000 | 62.5 | 3326 | 3911 | 64 bit | https://browser.primatelabs.com/user/zorang |
t2.large | 2 cores | 8.0 GB | 115.2 | 136.8 | 2 | 0.6 | 8192 | 300 | 62.5 | 2986 | 5676 | 64 bit | http://browser.primatelabs.com/geekbench3/2883478 |
c1.medium | 2 cores | 1.7 GB | 118.08 | 191.52 | 2 | 2 | 1740.8 | 300 | 62.5 | 3307? | Geekbench2 | http://browser.primatelabs.com/geekbench2/591043 | |
m4.large | 2 cores | 8.0 GB | 127.44 | 218.16 | 2 | 2 | 8192 | 1000 | 56.25 | 2869 | 3346 | 64 bit | http://browser.primatelabs.com/geekbench3/2883591 |
m3.large | 2 cores | 7.5 GB | 133.92 | 224.64 | 2 | 2 | 7680 | 300 | 62.5 | 2579 | 3034 | 64 bit | https://browser.primatelabs.com/user/zorang |
r3.large | 2 cores | 15.25 GB | 151.2 | 232.56 | 2 | 2 | 15616 | 1000 | 62.5 | 2675 | 3143 | 64 bit | http://browser.primatelabs.com/geekbench3/2883489 |
m1.large | 2 cores | 7.5 GB | 167.76 | 268.56 | 2 | 2 | 7680 | 300 | 62.5 | 1592 | 3106 | 64 bit | https://gist.github.com/16hands/078800d5481e1d651828 |
c3.xlarge | 4 cores | 7.5 GB | 190.8 | 343.44 | 4 | 4 | 7680 | 500 | 62.5 | 2866 | 6620 | 64 bit | https://browser.primatelabs.com/user/zorang |
c4.xlarge | 4 cores | 7.5 GB | 208.08 | 351.36 | 4 | 4 | 7680 | 1000 | 93.75 | 3402 | 7807 | 64 bit | https://s3.amazonaws.com/cloudharmony/geekbench3_3_1_6/aws:ec2/c4.xlarge/ebs-500piops/eu-central-1/2015-04-16/4503/522092-10/geekbench.html |
m2.xlarge | 2 cores | 17.1 GB | 213.12 | 267.12 | 2 | 2 | 17510.4 | 300 | 62.5 | 4485? | Geekbench2 | https://browser.primatelabs.com/user/zorang | |
m4.xlarge | 4 cores | 16.0 GB | 254.88 | 436.32 | 4 | 4 | 16384 | 1000 | 93.75 | 2772 | 6103 | 64 bit | http://browser.primatelabs.com/geekbench3/2883604 |
m3.xlarge | 4 cores | 15.0 GB | 267.84 | 449.28 | 4 | 4 | 15360 | 300 | 62.5 | 2237 | 4894 | 32 bit | https://browser.primatelabs.com/geekbench3/542565 |
r3.xlarge | 4 cores | 30.5 GB | 302.4 | 465.12 | 4 | 4 | 31232 | 1000 | 62.5 | 2542 | 5958 | 64 bit | http://browser.primatelabs.com/geekbench3/2883495 |
m1.xlarge | 4 cores | 15.0 GB | 336.24 | 537.84 | 4 | 4 | 15360 | 300 | 62.5 | 1560 | 5428 | 64 bit | https://gist.github.com/16hands/d4cf31011ce25b557701 |
c3.2xlarge | 8 cores | 15.0 GB | 380.88 | 686.16 | 8 | 8 | 15360 | 1000 | 125 | 2607 | 11327 | 64 bit | http://browser.primatelabs.com/geekbench3/332304 |
c4.2xlarge | 8 cores | 15.0 GB | 416.16 | 702.72 | 8 | 8 | 15360 | 1000 | 125 | 3255 | 13408 | 64 bit | http://browser.primatelabs.com/geekbench3/2258774 |
m2.2xlarge | 4 cores | 34.2 GB | 426.24 | 534.24 | 4 | 4 | 35020.8 | 300 | 62.5 | 6563? | Geekbench2 | http://browser.primatelabs.com/geekbench2/1830609 |
When T2 instances have CPUCredits their performance is as as good as instances that cost 5x as much, yet how is their performance when they run out of CPUCredits? I ran a simple benchmark on T2.medium instance where I ran Geekbench 3 continually in a loop obtained and the following results:
- Initially with CPUCredits: http://browser.primatelabs.com/geekbench3/3586907
- After CPUCredits depleted the t2.medium instance receives 20% for both CPU cores (40% in total) and still had better performance than m1.small: http://browser.primatelabs.com/geekbench3/3588122
Here is Cloudwatch graph with CPUUtilization and CPUCreditBalance during the benchmark:
Here are all Geekbench results during the benchmark:
[ec2-user@ip-172-30-0-183 Geekbench-3.1.2-Linux]$ grep 'Geekbench Score' geekbench.out
Geekbench Score 2641 5179
Geekbench Score 2636 5179
Geekbench Score 2634 5174
Geekbench Score 2629 5162
Geekbench Score 2631 5165
Geekbench Score 2637 5178
Geekbench Score 2639 5193
Geekbench Score 2641 5187
Geekbench Score 2640 5180
Geekbench Score 2633 5176
Geekbench Score 2640 5190
Geekbench Score 2643 5177
Geekbench Score 2641 5182
Geekbench Score 2641 5175
Geekbench Score 2641 5184
Geekbench Score 2638 5177
Geekbench Score 2641 5185
Geekbench Score 2638 5187
Geekbench Score 2641 5176
Geekbench Score 2641 5184
Geekbench Score 2645 5190
Geekbench Score 2646 5191
Geekbench Score 2639 5179
Geekbench Score 2640 5184
Geekbench Score 2639 5171
Geekbench Score 2633 5174
Geekbench Score 2636 5171
Geekbench Score 2642 5167
Geekbench Score 2642 5032
Geekbench Score 2636 4962
Geekbench Score 2636 4977
Geekbench Score 2634 4765
Geekbench Score 2638 4322
Geekbench Score 2638 4316
Geekbench Score 2526 3845
Geekbench Score 2059 2108
Geekbench Score 1686 1715
Geekbench Score 1052 1036
Geekbench Score 1090 1095
Geekbench Score 1100 1107
Geekbench Score 1047 1035
Geekbench Score 1084 1107
Geekbench Score 1096 1099
[ec2-user@ip-172-30-0-183 Geekbench-3.1.2-Linux]$
Hence even when the instance ran out of CPUCredits at the worst performance it received a Geekbench result of 1036 for multi-core score, easily beating m1.small instance which has a multi-core score of 763. As many applications are not busy 24 hours a day they would potentially be a good fit for EC2 T2 instances as long as on the 24 hour aggregate the application requires less CPU resources than T2 base performance. If it does it can perform very well even outperforming more expensive instances.
Here is a simple example where T2 instance could be suitable:
- 8 hours with CPU peaks of up to 80%, yet averaging during these 8 hours at 40%
- 16 hours with CPU peaks of up to 100%, yet averaging during these 16 hours at 15%
The average CPU utilisation over a 24 hour period is 18.75%.
Update 7/1/2017 - New T2 instances:
Here is what t2.micro instance looks like after CPU credits run run - limited to 10%:
No comments:
Post a Comment