Which are the best approaches to meet these requirements?

Your company is getting ready to do a major public announcement of a social media site on AWS. The website
is running on EC2 instances deployed across multiple Availability Zones with a Multi-AZ RDS MySQL Extra Large
DB Instance. The site performs a high number of small reads and writes per second and relies on an eventual
consistency model. After comprehensive tests you discover that there is read contention on RDS MySQL.
Which are the best approaches to meet these requirements? (Choose 2 answers)

Your company is getting ready to do a major public announcement of a social media site on AWS. The website
is running on EC2 instances deployed across multiple Availability Zones with a Multi-AZ RDS MySQL Extra Large
DB Instance. The site performs a high number of small reads and writes per second and relies on an eventual
consistency model. After comprehensive tests you discover that there is read contention on RDS MySQL.
Which are the best approaches to meet these requirements? (Choose 2 answers)

A.
Deploy ElasticCache in-memory cache running in each availability zone

B.
Implement sharding to distribute load to multiple RDS MySQL instances

C.
Increase the RDS MySQL Instance size and Implement provisioned IOPS

D.
Add an RDS MySQL read replica in each availability zone



Leave a Reply 20

Your email address will not be published. Required fields are marked *


ahb

ahb

ad.
…there is read contention on RDS MySQL.

Chef

Chef

Both A & D will help with Read IO

diibn

diibn

Yes. A. and D.

Krish

Krish

A is right choice.
B is not right for MySQL’s case
C I am not sure if you can increase IOPS for RDS MySql
D does help this case. However, this may possibly increase ‘write’ time, which is a big NO-NO in this scenario. Hence A & C are right

Saif

Saif

Why would D increase the write time? Read replica’s are updated asynchronously. With Read replicas there are chances that the latest updated data may not be available, but no way would it add to the write time.

kirrim

kirrim

Re: adding read replicas might impact write performance…

With only a couple of read replicas, the performance impact should be very minimal, and would surely be greatly outweighed by the improvement in DB IOPS gained by offloading the read operations to the read replicas. So I would still definitely go with A as my first choice and D as my second choice in order of preference. Both are correct answers that would help in this scenario.

Re: is there a write performance impact due to implementing read replicas, yes, there is an impact (very small) because the master has to perform asynchronous replication operations to the read replicas. The more read replicas you have, the greater the impact due to the greater number of these replication operations the master has to keep track of.

When AWS designed Aurora, they implemented design features to mitigate this issue, and thus allow far greater numbers of read replicas than MySQL can, with less impact to write performance on the master, in addition to having far less replication lag.

Documentation:

https://aws.amazon.com/rds/aurora/faqs/

(under the “What kind of replicas does Aurora support?” section)

Mouhammad Yousuf

Mouhammad Yousuf

for C as an answer you can’t there is no option to adjust the iops only during lunch just verified it on the consol

A and D are the answers.

Mouhammad Yousuf

Mouhammad Yousuf

oops sorry you can change it to provisioned iops and increase the number of iops so i think yes A&C are possible solutions i just missed it on the console interface

Mouhammad Yousuf

Mouhammad Yousuf

i would still go with A and D as i can’t change the allocated storage size in order to increase the number of Iops it clearly says add the based on anticipated future need.

charles

charles

AD
The app can live with eventual consistency so it it doesn’t matter if the replica’s are updated ansyncronously

Gabriel Wu

Gabriel Wu

AD
C is possible but you need to restart RDS and it brings downtime

Moh

Moh

How would you direct read traffic to read replica? d does not make sense. sharding, however on the back end of database handles the read distribute so the correct answer is A,C

Wajahat

Wajahat

I think A and C

A. Deploy ElastiCache in-memory cache running in each availability zone
C. Increase the RDS MySQL Instance size and Implement provisioned IOPS

Provisioned IOPS will definitely improve performance

recovery22

recovery22

A and D

– MySQL instance is already Extra Large, thus (c) won’t help much
– there is a ‘read contention’ , read replicas can certainly help in distributing the load.
– whenever there is resource contention, over stretching one particular resource(DB) is not a good idea.

lyannabear

lyannabear

Answer is AD

Most of the answers at the top are wrong. I’ve gone through the trouble of correcting all 400 of them for my own study purposes. If you would like a digital copy of this dump please send $40 to paypal.me/lyannabear

benkung

benkung

Which are the best approaches to meet these requirements?
A&D