- Newest
- Most votes
- Most comments
if your Aurora MySQL instance's capacity range is set from 0.5 to 5.5 ACUs and your website is experiencing high traffic with CPU usage consistently over 90%, but the estimated vCPUs never exceed 2, consider these possible reasons:
Auto-Scaling Configuration: Ensure that auto-scaling is properly configured to allow the instance to scale up to the maximum ACUs.
Cooldown Periods: Aurora Serverless may have cooldown periods that delay scaling up.
Scaling Limits: Check if there are any configuration limits preventing scaling beyond 2 vCPUs.
Latency in Scaling: There can be a delay in scaling up due to Aurora Serverless architecture.
Workload Characteristics: The workload might be I/O-bound rather than CPU-bound.
Inefficient Query Patterns: High CPU usage might be due to inefficient queries or excessive connection pooling.
Troubleshooting Steps: =>Review and adjust the auto-scaling configuration. =>Check and adjust cooldown settings if necessary. =>Analyze workload characteristics using monitoring tools. =>Verify there are no AWS-imposed limits on scaling. =>Optimize database interaction patterns and query efficiency. =>These steps should help ensure that your Aurora instance scales appropriately to handle high traffic and effectively utilizes the available vCPUs.
Per the docs at on Aurora Serverless v2 [see link 1 below], "Each ACU is a combination of approximately 2 gibibytes (GiB) of memory, corresponding CPU, and networking". If you do the math, this implies each ACU is about 0.25 of a vCPU - that's a quarter of a single core on a Graviton instance. So if you set the max ACU to 5.5, technically that would be well under 2 vCPUs of compute capacity (1.375 vCPUs to be precise). This would explain why Performance Insights never shows compute usage higher than 2 vCPUs. Please note that resetting the Max ACU to something higher is dynamic (i.e., no database engine restart is needed) so it might be worth an experiment to see how increasing it to something a little higher impacts the resource usage, the latency of your website, and costs... Hope this helps!
Hi,
Thank you for asking your question.
To monitor and dive deep scaling/performance issue on Aurora Serverless v2, we recommend to use below metrics:
- ServerlessDatabaseCapacity
- ACUUtilization
- CPUUtilization
- FreeableMemory
- TempStorageIops
- TempStorageThroughput
We described which metrics is important Amazon CloudWatch metrics for Aurora Serverless v2 in this document, if you observed ACUUtilization reached around 100% at the time of high traffic period, this means Aurora Serverlss v2 was scaled up to the maximum capacity, 5.5ACUs in this case. That application consume more than 5.5ACUs during peak time, we recommend to dial-up max ACUs to handle surge traffic.
Please note: some parameters are modified following max ACU change and need to be rebooted. We explain more detailed instractions and explanation in this document.
I hope this might help.
Relevant content
- asked a year ago
- asked 5 months ago
