Cloud Mercato tested CPU performance using a range of encryption speed tests:
Cloud Mercato's tested the I/O performance of this instance using a 100GB General Purpose SSD. Below are the results:
I/O rate testing is conducted with local and block storages attached to the instance. Cloud Mercato uses the well-known open-source tool FIO. To express IOPS the following parametersare used: 4K block, random access, no filesystem (except for write access with root volume and avoidance of cache and buffer.
.png)


the T series is more suitable for non-performance-verified test environments

I am not sure how to put in some intelligence into my terraform scripts, so that I get to choose only the instance type which is available for an AMI

I am not sure how to put in some intelligence into my terraform scripts, so that I get to choose only the instance type which is available for an AMI

the T series is more suitable for non-performance-verified test environments

T2 is a burstable instance type If you run out of CPU credits, CPU is throttled and performance degrades

if you are going to use your instance only for 6 hours each day and if you think that there should be no interruption or down time for your application running on the instance, then an On-Demand instance of the proper instance type works fine.

I think the discrepancies can be attributed to the choice of the t-style instances. They are generally over committed.

Aren\'t \'t\' instances burst instances? They need to be under constant load for a long time before their burst credits for CPU, memory, network and EBS run out, after which they fall back on their baseline performance.

Nah, they\'re only free for 12 months, not forever: [https://aws.amazon.com/free/?all-free-tier.sort-by=item.addi...](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=tier%2312monthsfree)

t2.micro are on the forever free tier, but yeah.

I think the discrepancies can be attributed to the choice of the t-style instances. They are generally over committed.

Aren\'t \'t\' instances burst instances? They need to be under constant load for a long time before their burst credits for CPU, memory, network and EBS run out, after which they fall back on their baseline performance.

Nah, they\'re only free for 12 months, not forever: [https://aws.amazon.com/free/?all-free-tier.sort-by=item.addi...](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=tier%2312monthsfree)

t2.micro are on the forever free tier, but yeah.

Nah, they\'re only free for 12 months, not forever: [https://aws.amazon.com/free/?all-free-tier.sort-by=item.addi...](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=tier%2312monthsfree)

t2.micro are on the forever free tier, but yeah.

Thank you for this article. We have T instances for EC2 and RDS and we are expecting some very strange performance behavior. Do you have plan to test RDS?

This is super well documented by aws themselves and if you understood how they work before creating the article then you probably would not have written it. Please do research before writing scare articles just for clicks. That’s just lame brother.

Thank you for this article. We have T instances for EC2 and RDS and we are expecting some very strange performance behavior. Do you have plan to test RDS?

This is super well documented by aws themselves and if you understood how they work before creating the article then you probably would not have written it. Please do research before writing scare articles just for clicks. That’s just lame brother.

I have a node js application (with plain html/css front end) and a MySQL database. Would it be reasonable to put each on the smallest linux instance in lightsail for a total of $7/month ($3.50 each)? My database only has 14 tables and none of them exceed 10000 rows. My priority is minimising costs so I’m willing to put the database on ec2 over rds as long as the application works the same, and i can manually export the database to take backups

I think the discrepancies can be attributed to the choice of the t-style instances. They are generally over committed.

Aren\'t \'t\' instances burst instances? They need to be under constant load for a long time before their burst credits for CPU, memory, network and EBS run out, after which they fall back on their baseline performance.

I have a node js application (with plain html/css front end) and a MySQL database. Would it be reasonable to put each on the smallest linux instance in lightsail for a total of $7/month ($3.50 each)? My database only has 14 tables and none of them exceed 10000 rows. My priority is minimising costs so I’m willing to put the database on ec2 over rds as long as the application works the same, and i can manually export the database to take backups

T2 instances do not have Unlimited mode turned on by default. Without Unlimited mode turned on, once the CPU credits have been exhausted, the server goes into a shallow resource usage state. Its CPU performance and network performance are lessened considerably until the CPU credits have accumulated again. We've seen this first hand on quite a few occasions now, even causing production outages.

Thank you for this article. We have T instances for EC2 and RDS and we are expecting some very strange performance behavior. Do you have plan to test RDS?

This is super well documented by aws themselves and if you understood how they work before creating the article then you probably would not have written it. Please do research before writing scare articles just for clicks. That’s just lame brother.

I have a node js application (with plain html/css front end) and a MySQL database. Would it be reasonable to put each on the smallest linux instance in lightsail for a total of $7/month ($3.50 each)? My database only has 14 tables and none of them exceed 10000 rows. My priority is minimising costs so I’m willing to put the database on ec2 over rds as long as the application works the same, and i can manually export the database to take backups

I have a node js application (with plain html/css front end) and a MySQL database. Would it be reasonable to put each on the smallest linux instance in lightsail for a total of $7/month ($3.50 each)? My database only has 14 tables and none of them exceed 10000 rows. My priority is minimising costs so I’m willing to put the database on ec2 over rds as long as the application works the same, and i can manually export the database to take backups

I have a node js application (with plain html/css front end) and a MySQL database. Would it be reasonable to put each on the smallest linux instance in lightsail for a total of $7/month ($3.50 each)? My database only has 14 tables and none of them exceed 10000 rows. My priority is minimising costs so I’m willing to put the database on ec2 over rds as long as the application works the same, and i can manually export the database to take backups

An Amazon T2 micro EC2 instance may be adequate for hosting an application with average requests per second, but it depends on the specific requirements and workload of your application.

It depends on type of application and how much RAM and Storage it consume to process a single request. One thing you can do - go with t2.micro and test your application with number of hits. If the server fails to serve the upgrade to higher version.

When you see your application is not able to perform efficiently , cant respond takes long time you have to think of upgrading.

If your application is lightweight (like a simple web app or API) and doesn't require substantial CPU or memory resources, a T2 micro instance might suffice. If the average RPS is low (e.g., under 10-20 requests per second), the T2 micro could handle it, especially during bursts due to its ability to accrue CPU credits.

You can count t2 as upgrade of t1. In general t2 offer faster access to memory and disk compared to t1.

Compared to the previous instances, we’re enjoying all the benefits of great peak performance for these services, such as reduced request latency.

so long as you don't spend all your CPU credits, you enjoy the performance and all the power of a much larger instance, but at a fraction of the cost.

We’ve recently migrated a number of services to T2 instances. For some, we’re now running more than 50% more EC2 instances than before, but paying roughly 30% less in equivalent on-demand cost.

For the price of an old m1.small, you can run three t2.micro instances and each has approximately 3x the peak processing power.

Any applications and databases powering our internal tools which have relatively low traffic.

Our Jenkins build server, that takes care of building, testing and deploying all our other services – T2s are particularly brilliant here, because it sits idle between builds but the high peak CPU performance means our builds are really fast.

Most of the instances serving our front-end applications (everything you see on gosquared.com) – these instances typically spend most of their time either idle between requests or waiting on network activity to other services.

Our email-sending service uses a lot of CPU on-the-hour, every hour. We send out daily traffic reports in different timezones but it sits mostly idle in-between those times.

For example, consider running one service that maxes out the whole CPU but only does it 10% of the time, in that situation a t2.micro instance is perfect.

For example, consider running one service that maxes out the whole CPU but only does it 10% of the time, in that situation a t2.micro instance is perfect.

Upgrade if Needed: If you notice performance issues (high CPU utilization, slow response times, or memory exhaustion), consider upgrading to a larger instance type, such as T3 or T3a, which provide better performance and cost-efficiency.

When you see your application is not able to perform efficiently , cant respond takes long time you have to think of upgrading.

Easily. providing that is a local average and you do not get an hour’s worth at once. A second is a long time. A micro is chunkier than an nano, and a nano is close enough to a container. It is trivial to scale up so just assume yes.

If your application\'s demands exceed the T2 micro\'s capabilities, you may need to upgrade to a more powerful instance type.

Use cloud watch to monitor your application traffic. T2 instances are billed according to CPU credit usage and they are burst-able.

An Amazon T2 micro EC2 instance may be adequate for hosting an application with average requests per second, but it depends on the specific requirements and workload of your application. Consider factors like CPU and memory usage, network bandwidth, and expected traffic spikes.

It depends on type of application and how much RAM and Storage it consume to process a single request. One thing you can do - go with t2.micro and test your application with number of hits. If the server fails to serve the upgrade to higher version.

Consider Load Testing: Conduct load testing to simulate traffic and understand how your application performs under stress. This can provide valuable insights into whether you need to upgrade.

Start with T2 Micro: If you\'re just starting and your application is lightweight, you can begin with the T2 micro instance. Monitor your application\'s performance using AWS CloudWatch.

If you anticipate growth, starting with a T2 micro might be fine, but you should plan for easy scaling options (like moving to a T3 or T3a instance) if necessary.

If the average RPS is low (e.g., under 10-20 requests per second), the T2 micro could handle it, especially during bursts due to its ability to accrue CPU credits. However, if your application experiences spikes in traffic or consistently high RPS, the T2 micro may struggle.

Consider the performance requirements of your application. For example, if it involves database queries, file uploads, or heavy processing, you might need a more powerful instance.

The T2 micro instance has 1 GiB of RAM. If your application requires more memory or has memory-intensive operations, you may need to upgrade to a larger instance.

Whether an Amazon T2 micro EC2 instance is adequate for hosting your application largely depends on several factors, including: 1. Application Type: If your application is lightweight (like a simple web app or API) and doesn\'t require substantial CPU or memory resources, a T2 micro instance might suffice.

Note that the t3 generation strengthens the case for micros, because now they have 2 vCPUs, which is as many as even a t3.large.

The credit balance assigned to each instance varies. So while two micros could provide double the performance of small during burst, it will only be able to do so for half as long.

They're perfectly adequate for many cases where your just need _a_ server (or HA pair) continuously up. The 2 hours of full burst that a t2.micro can sustain (or ~5 for small/medium) are plenty of time to react automatically to sustained load. They are also perfect where workloads are moderate and disk or network I/O bound. t2.micro/medium hosts especially make the best Jenkins servers.

It's perfectly safe to run a production site on a t1.micro, as long as you follow good principles regarding monitoring and autoscaling.

Last but not least, the operating system, other softwares has more or less a fix overhead, running it 2 times instead of one, may takes more resources away from your application in a system, where you gets CPU credits only under 20% of load.

Also you loose time and money with each startup time and the unused but started usage hours, so doing a too frequent up/down scaling isn\'t the most cost efficient.

So if you wish to \"Closely follow\" the load with a small amount of t2.micro instances, you won\'t be able to use too much bursting, because at each upscaling you will have a low CPU credits.

If memory is not a concern, and traffic is appropriately bursty, your analysis is sensible. While the t1 class was almost completely unsuited to a production environment, the same thing is not true of the t2 class. They are worlds apart. If your code is tight and efficient with memory, and your workload is appropriate for the cpu credit-based model, then I concur with your analysis about the excellent value a t2.micro represents.

For example, consider running one service that maxes out the whole CPU but only does it 10% of the time, in that situation a t2.micro instance is perfect.

I agree with your analysis, but only IF your workload can be scaled purely horizontally as you mentioned. Any vertical scaling required will benefit from a larger t2 instance. The big different between say t2.micro and t2.small is the baseline performance you can achieve with the CPU. If you have any CPU intensive tasks then being able to sustain long periods of 20% cpu utilization would be a reason to use a t2.small instance.

T2.micro instances CAN be used on production. Depending on the technology and implementation, a single instance can handle over 400 RPS.

Assuming t2.micro's RAM is enough and that the software can scale horizontally. Having 2 t2.micro has the same cost as 1 t2.small, assuming the load distributed equally between them (probably via AWS LB) they will use the same amount of total CPU and consume the same amount of CPU credits. If they were to fall back to baseline performance, it would be the same. BUT, while they are bursting, 2 t2.micro can achieve x2 the performance of a t2.small (again, for the same cost).

Back when I worked at AWS and t1s were still the big thing, we had a policy of telling customers to never run a production site on a t1.micro .

We tried a t2.micro instance with extra block storage. It initially worked, loaded, and restored from backup. It was a little slow during initial testing. As soon as the DNS switched over and we started getting a little bit of traffic, our Discourse instance became completely unusable, with 504 Gateway errors or 502 errors almost every page load.

For the price of an old m1.small, you can run three t2.micro instances and each has approximately 3x the peak processing power.

We’ve recently migrated a number of services to T2 instances. For some, we’re now running more than 50% more EC2 instances than before, but paying roughly 30% less in equivalent on-demand cost.

Any applications and databases powering our internal tools which have relatively low traffic.

Our Jenkins build server, that takes care of building, testing and deploying all our other services – T2s are particularly brilliant here, because it sits idle between builds but the high peak CPU performance means our builds are really fast.

Our email-sending service uses a lot of CPU on-the-hour, every hour. We send out daily traffic reports in different timezones but it sits mostly idle in-between those times.

Most of the instances serving our front-end applications (everything you see on gosquared.com) – these instances typically spend most of their time either idle between requests or waiting on network activity to other services.

Similarly, if an application or database needs lots of CPU to serve individual requests with low latency, but idles between requests, then a T2 is advantageous too.

You are allowed to use a total of 15GB of data transfer for free every month under the free tier. Internet usage is considered in this section. This includes all the services combined and not just EC2 (excludes those that have explicitly mentioned additional free transfer; eg: Cloudfront has 50GB/month free).

Because you are using things that aren’t actually free tier. The one that tripped me up was SES. It’s free when I’m calling it to send emails from a micro-instance on free tier. It’s not free when I’m calling it from a dev version of the code that needs to send an email while running on my laptop.

So long as you don’t exceed the Free Tier allowances, you can keep them running until your Free Tier runs out, a year after you created your account. After that, you can still keep them running, but it will start costing you.

The instance may be free. The usage is not. You get a certain allotment of throughput for the instance, if you go over — you pay for it. Besides that, you generally wouldn’t use just the EC2 — you’d use other services in conjunction with it, otherwise there’s little point in having an active EC2 instance.

With an EC2 instance you get 30GB of free EBS storage. It doesn\'t depend you use t2.micro or not, 30GB is free for 12 months.

Free trial is to give you a taste of what you can do, not to abuse and get free service. If you are interested in any of the paid features, I am pretty sure your company purchasing department can work out a trial period for that, working with AWS sales.

Because you are using some of the none free offerings. I can\'t see your bill, so I have no idea what you are using. Maybe a ec2 instance that is not a t2.mirco (note, the smaller nano costs) or you have an unattached IP address. Or you are using it after the first year.

Amazon EC2 t2 micro is virtual server that comes with the following configuration.

Hi, EC2 free-tier comes with 1 gb ram and 1 cpu. That is sufficient for some small applications and services. The Up’s and Down on the free-tier EC2 depends on your setup. what and how you have configured that instance. if all the configuration you have done on instance is meeting with instance resources or not.

The AWS Free Tier is designed to provide new users with a way to explore and experiment with AWS services without incurring costs. The EC2 Free Tier includes specific instance types that are eligible for free usage, typically the t2.micro instance.

3. Cost Management: Including only certain instance types in the Free Tier helps AWS manage costs and resource usage more effectively. By selecting a slightly larger instance, AWS can balance offering a free tier with the need to limit overall usage and associated costs.

2. Usage Patterns: The t2.micro instance is more suitable for a variety of applications and workloads, allowing users to better understand the capabilities of EC2. By limiting the Free Tier to the t2.micro, AWS ensures that users can run small applications without hitting performance limitations too quickly.

Because you either used something that wasn’t in the Free Tier, or you used more than the included amount of one of the resources that was in it. That, or you continued to use a Free Tier resource past its initial free twelve months.

I can think of 4 things: 1. service monitoring, 2. small personal projects, 3. low-volume but high-uptime services, like DNS secondaries, 4. experimenting cheaply with distributed architectures.

Our email-sending service uses a lot of CPU on-the-hour, every hour. We send out daily traffic reports in different timezones but it sits mostly idle in-between those times.

The best use case I can think of is to run monit(http://mmonit.com/monit/) with it to monitor other processes within your cloud cluster.

Background tasks that does not require much memory/cpu. Say for example you are running an a rails application where specific actions involves a long processing time.

It has plenty of power to run LAMP-based apps like wikis, blogs, content management systems, etc.

Compared to the previous instances, we’re enjoying all the benefits of great peak performance for these services, such as reduced request latency.

We’ve recently migrated a number of services to T2 instances. For some, we’re now running more than 50% more EC2 instances than before, but paying roughly 30% less in equivalent on-demand cost.