Aurora Replica Sizing vs. Source DB Sizing - Do they need to match?

0

Question from customer:


We currently run Aurora with the following sizing:

primary: db.r4.16xlarge
replica-a: db.r4.8xlarge
replica-b: db.r4.8xlarge
replica-c: db.r4.8xlarge
replica-d: db.r4.16xlarge <-- failover

In this documentation link, we saw this paragraph:

"For replication to operate effectively, each Read Replica should have as the same amount of compute and storage resources as the source DB instance. If you scale the source DB instance, you should also scale the Read Replicas."

However, we couldn't find anything similar written in the Aurora docs.

Are there any guidelines on primary/replica sizing for Aurora MySQL? Do they need to be the same instance size?

Update Follow-up question from customer:

Would it simply be a performance impact when failover happens (i.e. primary fails and the highest failover replica gets promoted)? Or would it have any impact during normal replication?

demandé il y a 5 ans1165 vues
1 réponse
0
Réponse acceptée

Update Follow-up question from customer: Would it simply be a performance impact when failover happens (i.e. master fails and the highest failover replica gets promoted)? Or would it have any impact during normal replication?

Answer:

Since Amazon Aurora Replicas share the same data volume as the primary instance in the same AWS Region, there is virtually no replication lag. We typically observe lag times in the 10s of milliseconds. How far behind the primary will my replicas be?: https://aws.amazon.com/rds/aurora/faqs/

By design, the replication asynchronous. So, the replica lag varies depending on the rate of database change. That is, during periods where a large amount of write operations occur for the database, you might see an increase in replica lag. Because we have to send the same log changes (Redo Logs) to Read replica to update the cache. If there are too many changes you might see a lag than expected. This does not depend on the which instance class you are using for Read Replica.

Re-invent Video: https://youtu.be/duf5uUsW3TM?t=422

Now, by having the smaller instance class for read replica:

1.) You might see lot of queries might be doing physical read (Read IOPS increase) instead of logical read. 2.) You might see a performance impact when failover happens to a Read Replica because it has less resources (CPU, Memory, etc. )

AWS
VijayK
répondu il y a 5 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions