私はTomcatによってホストされたJava Webアプリケーションを作った。これはURLにあります。最初の応答が遅いTomcat
私が経験している問題は、初めてページを訪れるたびに10秒かかりますが、その後はたった100-500msしかかかりません。私はスピードの向上はブラウザのキャッシングによるものだと言いますが、キャッシュをリフレッシュしても実際にはそうではありません(ctrl
+ shift
+ r
)私は同じ速い応答を得ます。
しばらくしてから約5分後にもう一度ページにアクセスし、もう一度遅くなります。
あなたは、例えばに検索パラメータ値を変更することにより、提供されたURL:1050
にいくつかのテストを自分で試す1051
、1052
、2670
、4000
、2300
、2200
ことがあります。
また、私が見つけた興味深い事実は、どのように大きなペイロード(1050と2300を比較しても)がほぼ同じであるということです。 9-10s。だから、私が前提にしているのは、Java Serverのようなものが準備をしなくてはならず、それが時間を費やしているということです。
編集:私は最初にそれはいくつかのリソースをロードする必要のJava/Tomcatに関連することができ、その後、いくつかの時間後に+何らかの理由で、それをアンロードし、再び-3-5minsので、考えていた
。しかし、私が上記のように、実行時に別のSQLクエリを引き起こすURLクエリ文字列を変更したとしても、それは再び長くロードされます。問題はDBに関連付けることはできますか?私はMySQLを使用しています。
EDIT2:
それは高速です理由は、ほとんどの場合、サーバーのキャッシュです。私は95%確信しています。それは2台のコンピュータなどで試してみるなどの実験をいくつか作ったからです(ブラウザのキャッシュではありません)。それがキャッシュされているときだけ高速であれば、実際には.executeQuery
行のコードが長くかかることに気付きました。 WorkBench
のようなクライアントからの正確な要求がわずか0.285秒であっても、10秒かかる。したがって、私はPreparedStatement
を使って試したり、さらに実験を試みようとしています。
あなたのアプリケーションは、(あなただけでなく)複数のWebアプリケーションを扱うTomcatインスタンス上でホストされていますか? Tomcatが誰にも使われていないときに(リソースを保存するために)あなたのアプリを閉じて、次回訪問時にリロードするまでに時間がかかる可能性があります。 –
はい、1つのTomcatサーバーと複数のアプリケーションがあります。どのアプリケーションでもオープンにして準備を整える方法はありますか? –
私はあなたがそれを開いたままにすることはできませんが、あなたのWebホスティングプロバイダに依頼することはできません。たぶんそれは全く問題ではないでしょう。 –