Aurora Serverless v2 in production - very slow queries

0

I currently use 2 x 4xlarge instances for our Aurora production cluster (35% utilisation during peak periods).

I intend to migrate to Serverless V2 instances. However, our initial tests show queries on aurora serverless v2 to be much much slower than provisioned instances.

The speed difference is very dramatic for some queries (0.2 seconds in provisioned vs 10 seconds in serverless). I have tried everything - trying to warm up the buffer pool, and increasing the min ACU to 10. Still, no luck.

Any advise on what I should look into?

vmit
posta 5 mesi fa700 visualizzazioni
1 Risposta
0

Hi,

you should try to run EXPLAIN on your queries with highest latency differences on the 2 engines.

See https://dev.mysql.com/doc/refman/8.0/en/using-explain.html

You can then see if there is a major difference in access strategy leading to this much higher latency and fix it.

This other article gives you some tracks to explore as well: https://repost.aws/knowledge-center/aurora-mysql-slow-select-query

But, it's mostly related to context with high loads. So, I don't think it will match your situation where you seem to be in initial unit testing mode.

Best,

Didier

profile pictureAWS
ESPERTO
con risposta 5 mesi fa
profile picture
ESPERTO
verificato 5 mesi fa
  • (sorry, moving this as a comment, instead of an answer)

    Hi Didier

    Thanks for your reply.

    For most queries, the "EXPLAIN" is giving exactly the same result. Which makes sense - because the mysql engine is identical. Only the hardware is different.

    For some large queries, the "EXPLAIN" query is giving very similar result - except the serverless shows the query with "filesort", whereas the provisioned server does not. My guess is that this is because the dataset is not in the RAM in the serverless, whereas the whole query dataset lies in the RAM for provisioned. Would this be correct?

    I feel like this is an issue with buffer pool. Serverless v2 keeps evicting the buffer pool during downsizing, whereas the provisioned server does not. So, I don't understand how anyone can use Serverless V2 without making the min ACU so high that it effectively stops the scaling activity altogether, and defeats the purpose of serverless scaling.

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande