RDSのクエリ実行の時間が掛かりすぎている場合の低減策はありますか?

0

WEBアプリの運営を行っています。

会員情報や統計情報等WEBアプリに必要な情報は全てRDSに保存して、WEBサーバーはEC2を使用しております。

現在RDSの設定画面からクエリキャッシュを有効化しているのですが、セッションのタイムアウトが起こる画面もあり、

全体的に画面の読み込みが遅くなっています。

SQLの実行速度を調べたところ、時間がかかっており、SQLの実行が遅い事が原因だと考えております。 SQL自体のindex等チューニングは行っているのですが、依然として状況は変わりません。

そもそもSQLの実行に時間が掛かりすぎている場合は、どのような対策を取ればよろしいのでしょうか? 出来ればサーバのスケールは上げずに他のAWSのサービスを使って解決したいと考えております。(コストがかかるので)

現在考えている対策としてクエリの実行結果をキャッシュして、クエリ自体の実行回数自体を減らしたいと考えております。 最良の方法があれば教えていただきたいです。

環境 WEBサーバ:EC2(各AZに3台づつ) DBサーバ:RDS(Aurora クラスターモード)

已提问 2 个月前541 查看次数
1 回答
1
已接受的回答

どのようなクエリの実行が遅いのかにもよると思いますが、AWS公式だと以下のドキュメントが参考になると思います。
https://repost.aws/ja/knowledge-center/rds-mysql-slow-query
https://repost.aws/ja/knowledge-center/aurora-mysql-slow-select-query

MySQLのチューニングであれば以下のブログが参考になると思います。
https://qiita.com/ichi_zamurai/items/fdbe3872a505c22ee431

他の方法だとコストが発生しますがElastiCacheを使用してクエリ結果をキャッシュさせるのはいかがでしょうか?
https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/WhatIs.html

profile picture
专家
已回答 2 个月前
  • 回答ありがとうございます。

    Elasticacheのクエリキャッシュも検討したのですが、調べている過程でDynamoDBも有効だと思うのですが 一般的にはクエリキャッシュするにはElasticacheなのでしょうか? それともユースケースによりけりでしょうか?

  • 少し古いですが以下のブログが参考になると思います。 https://dev.classmethod.jp/articles/elasticache-is-very-good-lets-review/#toc-9
    確かにDynamoDBも使えると思いますが、クエリの実行回数によってはコスト高になります。

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则

相关内容