お世話になります。
c#の自作プログラムから外部のMySQLサーバに接続したときのレスポンスの悪さに悩んでいます。
ローカルでは1秒未満で終わるものが、5~6秒かかります。
ネットで調べると、名前解決が出来ていないからだ。「-skip-name-resolve 」を設定しろ。
という記述は見つかるのですが、こちらを設定しても改善しません。むしろ、設定の有無で速度は変わりません。
つまり、名前解決で問題が発生するときの現象に近いのですが、
・上記オプションを設定しても変わないこと
・C#でのconnectionStringは、IPアドレスで指定している
ということで、名前解決の問題ではなさそうなのです。
■接続構成
WindowsPC(Win10)→AWS上のMySQL5.7
※AWSのメモリも疑ったので、512MB→1Gに増やしましたが変わりませんでした。
■クエリの内容
・データの数は30個ほど
・クエリはなんてことのないSELECT文と、ファイルのダウンロード(数十キロバイト)
上記クエリは、ローカルで実施すると、遅いものでも0.10s未満で終わるものです。
■その他
・MySQLのバージョン、my.cnfの内容はローカルと外部サーバで同じです。
・Winsharkなるものを入れましたが、さっぱり分からず(勉強不足)で今は保留にしています。
以上となりますが、AWSのメモリを増設してもダメ、my.cnfをチューニングしても何も変わらず、
という感じで、かれこれ3、4日悩んでも分からないでいます。
どなたか、詳しい方がいらっしゃいましたらアドバイスいただければ幸いです。
よろしくお願いいたします。
■追伸
・AWSは東京リージョンです。
・データベースコネクトだけのc#プログラムで速度を測ったところ、
ローカルが、100ms に対して、300~500msとやはり4、5倍でした。
クエリは10個ほど発行すると、やはり4、5秒遅延するのかな。といった感じです。
データベースの接続から遅いという感じです。
回答2件
あなたの回答
tips
プレビュー