※ ChatGPTを利用し、要約された質問です(原文:Tomcatから他サーバー接続時の遅延)
Tomcatから他サーバー接続時の遅延
このQ&Aのポイント
Tomcatから他のサーバーに接続する際の遅延について質問させていただきました。
サーバーAからサーバーBに接続する際に時間がかかっていることが分かりましたが、原因はわかりません。
サーバーA上で実行すると遅延が発生するようですが、Tomcatの設定に問題があるのかもしれません。
以下であるサーバーA(tomcat)からサーバーB(Apache)への
接続に時間がかかるということを下記で質問させて頂きました。
下記回答を受けてURLConnectionクラスの connect()で
がボトルネックになっていることが判明したのですが謎が深まったので質問させてください。
http://okwave.jp/qa/q7637743.html
下記ソース(抜粋)をWebアプリ上(Tomcat6を使用)で実行しているのですがconnect()メソッドにて
時間がかかっています。
しかし、このロジックをコピペしてJavaのmain()関数でサーバーA上で実行させたところ
サーバーBに遅延なく接続されました。
同様にPHPでサーバーAからサーバーBに接続させた時も遅延なくできました。
どうもサーバーAのTomcat6上で下記ソースが動作するときに遅延が発生するようです。
Tomcatが怪しいのかなと疑っているのですが
Tomcatの設定で名前の解決(IPの逆引きを行う)などの設定? であったり
何か遅延の原因となるような設定など心当たりありますでしょうか。
※サーバー管理者の方がパケットフィルタで観測したところサーバAからサーバーBへの
パケットが放出されるまでに時間がかかっており放出されてからはすぐにサーバーBから
レスポンスが返ってきているとのことでした。
【抜粋ソース】
apiUrl="http://192.168.1.15"; ← サーバーBへのURL(サーバAとBは同じLAN内)
URL url = new URL(apiUrl);
URLConnection con = url.openConnection();
con.setDoOutput(true);
con.connect(); ← ここで時間がかかる