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개 답변
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
답변함 2달 전
profile picture
전문가
검토됨 2달 전
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
답변함 한 달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠