Increasing Performance While Decreasing Price: Testing the New T2 Instances From Amazon

Amazon’s T2 instances have been available on Engine Yard since December. These instances are a “low-cost, General Purpose instance type that are designed to provide a baseline level of CPU performance with the ability to burst above the baseline.”

I wanted to see just how much more powerful the T2 instances were, compared to the previous generation of m1.Smalls. To test this, I am going to compare three instance types: the t2.micro, t2.small, and m1.small.

For each test, the instances were provisioned in the Western US Oregon Region with a 5GB Snapshot capacity. Instances are selected from the list of Engine Yard instance types, and run Engine Yard’s V4 stack and Gentoo 12.11. The tests were done with UnixBench 5.1.3 against a single application instance running a static PHP 5.4 web application.

Testing the Boot Times

Let’s start by looking at the boot up time on Engine Yard’s platform. This is the time taken to create the environment from scratch, attach an IP address, and configure it as an app instance.

Here’s a look at the final results:

Instance size Boot Time
t2.Small 8 minutes 34 seconds
t2.Micro 9 minutes 42 seconds
m1.Small 20 minutes 41 seconds

As you can see, the T2 instance types are significantly faster. This is likely due in part to the additional burst CPU available to the instance during configuration.

The improved boot times of the T2 instances means shorter deployment times and quick additions to app clusters when scaling up or out.

Download and Install UnixBench

To test with UnixBench, we have to download the software and install it on our instances. Let’s step through that process now.

Download the latest release:

wget https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz

Copy it to your instance:

scp UnixBench5.1.3.tgz [email protected]:/home/deploy

You can get the hostname of your instance from your Engine Yard dashboard. And be sure to set up your SSH keys before beginning.

Log in to your instance:

Change into the deploy directory:

cd /home/deploy

Unpack the tarball:

tar -xvzf UnixBench5.1.3.tgz

Change into the Unix Bench directory:

cd UnixBench

Finally, run Unix Bench:

./Run

If the instance has multiple CPU cores, pass through -c and the number of cores. UnixBench will then test multiple cores, giving you a more precise benchmark test.

The test should take 30 to 40 minutes. Grab a Capri Sun, put on some Parks and Recreation and wait for the test results.

Be sure to repeat this process for every instance you are testing.

Looking at the Results

The bench scores for the instances were as follows:

Instance size Result Score (higher is better)
t2.micro Console log 1756.5
t2.small Console log 1658.5
m1.small Console log 168.9

Be sure to check the attached console logs for the full output.

Unix Bench scores are mainly indicative of CPU and I/O performance and have little to do with RAM. The project homepage has more information about the way that tests work.

In this test environment, both of the T2 instances outperformed the m1.small. The test scores for the T2 instances are so similar because while each instance has 1 vCPU (virtual CPU) the t2.small has 2GB of RAM whereas the t2.micro has only 1GB. For that reason, the t2.small should be selected for RAM intensive applications

If you, like me, were astonished by quite how much higher the T2 scores were, it’s important to note that CPU and I/O performance has greatly increased with the new generation of instances.

Conclusion

These tests are not necessarily indicative of how your application will run, but they do give an indication as to the performance improvements available with the new Amazon T2 instance types. These improvements also mean that you are getting more performance for your money.

Using the Engine Yard price estimator, we can see how that breaks down:

Instance size vCPU Memory (GiB) Cost per month
t2.micro 1 1 $36
t2.small 1 2 $43
m1.small 1 1.7 $74

We’ve created some handy documentation that will help you migrate to these new instance types.

One last note to keep in mind. If you are a current customer you must have an account in a VPC enabled region in order to use the new T2 instance type. If for some reason you cannot access the T2 instance types, please file a ticket with our support team.

P.S. Have you tried the T2 instances? What did you think? Got questions about the performance or cost of these instance types? Throw us a comment below.

About Bryan Mason

Bryan Mason has been a Deployment Engineer at Engine Yard for the past two years helping customers get their applications set up and cut over during their on boarding process. Prior to Engine Yard he worked as a help desk manager for Winston Retail Solutions, a small retail merchandising firm in San Francisco. He’s an active guitar player, linux user, and swimmer.