Soru

Zorluk: KolayPerformance and Scalability Optimization

A company is designing a new reporting application that serves over 5 million5\text{ million} PDF reports (totaling 10 TB10\text{ TB} of static data) stored in an Amazon S3 bucket. The application also queries daily transaction summaries from an Amazon RDS for MySQL database which experiences over 100,000100,000 read queries per hour during business hours. During testing, users experience high latency when loading the reports and running dashboard queries. Additionally, a marketing campaign is scheduled that will cause a sudden, massive spike in traffic to the application's Application Load Balancer (ALB), going from 50 requests per second50\text{ requests per second} to 80,000 requests per second80,000\text{ requests per second} within 1 minute1\text{ minute}. Which combination of actions should a Solutions Architect recommend to optimize the performance and scalability of the application? (Select TWO.)

  1. Deploy Amazon CloudFront to cache the static PDF reports from the Amazon S3 bucket at edge locations.Cevap
  2. Create Amazon RDS read replicas and configure the application to direct read queries for the dashboard to the read replica endpoints.Cevap
  3. C
    Configure the Amazon RDS DB instance with a Multi-AZ deployment and configure the dashboard to route read queries to the standby instance's endpoint.
  4. D
    Rely on the Application Load Balancer's automatic scaling triggers to handle the marketing campaign traffic spike of 80,000 requests per second80,000\text{ requests per second}.
  5. E
    Deploy an Amazon ElastiCache for Memcached cluster to cache the dashboard query results and configure multi-AZ replication to maintain high availability of the cache.

Cevap

Deploying Amazon CloudFront to cache the static PDF reports from the S3 bucket and creating Amazon RDS read replicas to offload read traffic from the primary database.
Deploying Amazon CloudFront reduces latency for static content by caching it closer to users. Creating RDS read replicas offloads read traffic from the primary DB instance, scaling the read workload. Amazon RDS standby instances in a Multi-AZ deployment do not support read traffic. Application Load Balancers cannot scale instantly to absorb a spike from 50 requests per second50\text{ requests per second} to 80,000 requests per second80,000\text{ requests per second} and require pre-warming. ElastiCache for Memcached does not support multi-AZ replication.

Adım Adım Çözüm

1
Analyze static content performance requirements and locate the optimal caching layer.
Identify that PDF reports are static files stored in S3, which should be cached at edge locations using Amazon CloudFront to reduce retrieval latency and S3 get request costs.
Caching static objects close to the users reduces latency and load on the origin storage tier.
2
Analyze database workload pattern and identify methods to scale query execution.
Identify that dashboard summaries represent read-heavy queries that can be offloaded to Amazon RDS read replicas.
Separating read queries from write transactions allows horizontal scaling of the database tier.
3
Evaluate options for load balancer scaling during the scheduled marketing campaign spike.
Identify that relying solely on automatic scaling triggers for a sudden jump to 80,000 requests per second80,000\text{ requests per second} is insufficient because ALBs scale gradually. The ALB must be pre-warmed.
Preventing connection timeouts and failure during instantaneous, massive traffic spikes requires pre-warming the ALB.

Anahtar Kavram

Caching static assets and offloading database read traffic are fundamental optimization strategies for web applications. Caching at edge locations using CloudFront reduces load on S3 and minimizes download latency, while RDS read replicas scale read operations horizontally. Standby RDS instances are not readable, ALBs require pre-warming for sudden large spikes, and Memcached lacks multi-AZ replication capabilities.
Tahmini Süre:2m 0s
Bu soruyu puanla