RDS: how to warm the green instance

0

Is there any way to force the Green instance in a RDS MySQL Blue/Green deployment to be warm? The lazy-load is making our upgrade plans very hard because any query is impossibly slow for any real-life usage.

I read the suggestion of running SELECT * in tables, but our DB is many TB of size. SELECTing all of our data isn't practical, probably very expensive operation also.

Is there any other option that I'm missing? I realize that EC2 has the Fast Restore Snapshot option, but I'm not seeing anything similar in RDS.

Perhaps this is in AWS's roadmap?

2 Answers
1

Brian,

Warming up the green instance in an RDS MySQL blue/green deployment typically involves running queries to load data into the instance's cache. Running SELECT * queries on large tables is indeed not practical. Here are some alternative strategies:

  • Targeted Queries: Instead of SELECT *, run queries that target the most frequently accessed data or use LIMIT to reduce the amount of data loaded.
  • Replication: Use the blue instance as the replication source to keep the green instance warm, ensuring the cache is populated with recent queries.
  • Incremental Load: Gradually increase the workload on the green instance before the full cutover.

Currently, RDS does not have a feature equivalent to EC2's Fast Restore Snapshot that instantly warms the cache.

I'm here to help!

profile picture
answered a month ago
profile picture
EXPERT
reviewed a month ago
0

Thank you, Vitor.

Do you know if there's anything upcoming in the AWS roadmap to help deal with lazy load in a more sensible manner?

The ideal solution would be to have a button in the Console to force all of the data to be copied from S3 into the disk. It would take hours of course, but IRL there's no real alternative -- and a Console button would be way simpler than having to come up with ways to somehow warm up the data.

We ran multiple tests here and the added latency makes any real-life usage impossible. Queries that should take 200ms are taking 20 minutes. As it stands, the DB ends up being restored, but is useless for production. This is particularly bad in a blue/green environment approach.

Brian B
answered a month ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions