- Newest
- Most votes
- Most comments
The situation you're experiencing with high CPU usage on an idle SQL Server Express Edition RDS instance (db.t3.micro) is not uncommon, and there are a few factors to consider:
-
T3 instance behavior: The db.t3.micro instance type is a burstable performance instance. It has a baseline CPU performance of 10%, and when it exceeds this, it starts consuming CPU credits. Once these credits are exhausted, you start incurring additional charges for CPU usage above the baseline.
-
SQL Server resource requirements: Even when idle, SQL Server can consume a significant amount of CPU resources due to background processes, memory management, and other system tasks. The t3.micro instance may be barely meeting the minimum hardware requirements for SQL Server, leading to higher than expected CPU usage.
-
Free Tier limitations: While there is a free tier offer for RDS SQL Server, it's important to note that it's specifically for db.t2.micro instances running SQL Server Express Edition. The t3.micro instances are not covered under this free tier offer.
To address this issue and avoid charges, you have a few options:
-
Switch to MySQL or another database engine that has lower resource requirements and may stay within the free tier limits more easily.
-
If possible, stop the database instance when not in use to avoid incurring charges.
-
Consider using a non-burstable instance type, although this may increase your base costs.
-
Investigate if there are any specific SQL Server configurations or settings that can be optimized to reduce CPU usage, such as limiting background processes or adjusting memory allocation.
-
Monitor the database using Amazon CloudWatch or Performance Insights to identify any specific processes or queries that might be causing unexpected CPU usage, even when the database appears idle.
Unfortunately, running SQL Server on a t3.micro instance may inherently lead to higher CPU usage and potential charges beyond the free tier. For development purposes, you might want to consider alternative database engines or instance types that better fit within the free tier constraints.
Sources
Amazon RDS Instance Using 25~35% CPU While Completely Idle (Zero Sessions, Zero Queries) | AWS re:Post
per vCPU-Hour of T3 CPU Credits | AWS re:Post
Recommended alarms - Amazon CloudWatch
Please note that a db.t3.micro instance has a performance that barely meets the hardware requirements of SQL Server (https://learn.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2019?view=sql-server-ver16) Therefore, just running SQL Server may consume a certain amount of CPU usage.
You may also be able to learn something by enabling Performance Insights or Enhanced Monitoring (https://repost.aws/ja/knowledge-center/rds-sql-server-resolve-high-cpu-use)
Relevant content
- asked 2 years ago
