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?

Brian B
質問済み 2ヶ月前141ビュー
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
回答済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ