タイトル通りです。
テストでクエリーを200回投げたところ平均3秒以上で返ってきています。
これはあまりにも遅すぎますので何か設定を間違えたのかと色々調べて見ているのですが解決に至らずにおります。
RDS設定内容です
クラス:db.r5.large
ストレージタイプ:汎用(SSD)
ストレージ: 30GiB
ストレージの自動スケーリング: 無効
マルチAZ: なし
Public Accessibilty: Yes
php
1<?php 2$php_start = microtime(true); 3 4//$link = mysqli_connect('localhost','user','password','db_name'); 5$link = mysqli_connect('myexampledb.a1b2c3d4wxyz.ap-northeast-1.rds.amazonaws.com','user','password','db_name'); 6 7if (mysqli_connect_errno()) {die(mysqli_connect_error());} 8mysqli_set_charset($link, "utf8"); 9 10echo microtime(true) - $php_start.'<br>'; 11echo 'START<br><br><br>'; 12 13for($i=1;$i<=200;$i++){ 14 $start = microtime(true); 15 $sql = "select * from `table` where `user_id` = '200' limit 1;"; 16 $res = mysqli_query($link, $sql); 17 echo microtime(true) - $start.'<br>'; 18} 19 20echo '<br><br>'; 21echo microtime(true) - $php_start.'<br>'; 22?>
同AZのEC2からRDSへも1秒以上かかっておりますので、もっと早くなるにはどうしたら良いのでしょうか?
外部サーバのlocalhostのDBへ接続するときは当たり前ですがとても早く、0.5秒もかからないほどでした。
インフラ、AWS初心者のため色々ご教授頂ければ幸いです。
よろしくお願いいたします。
######補足
外部サーバからのtracert(traceroute)結果です
EC2からのtraceroute結果です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/04 08:51
2019/10/04 09:02
2019/10/04 09:15
2019/10/04 10:47
2019/10/07 00:01
2019/10/07 02:25
2019/10/07 05:30
2019/10/07 07:35
2019/10/07 08:47