3

アプリが時々非常に遅いことに気づいたので、いくつかのテストを行いました。とてもシンプルなウェブアプリです。1 つのサーブレットは、いくつかのパラメーターを格納するよりも取得します。1つのことを除いて、すべて問題ありません。初めてパラメータを取得するのに時間がかかりすぎます。どのパラメーターを取得しようとしても問題ありませんが、初めて非常に遅くなります。奇妙なことに、これは常に起こるわけではありません。初めてパラメーターを取得するのが遅くない場合があります。

私のコードは次のようになります

request.getParameter("paramName");
request.getParameter("paramName2");
request.getParameter("paramName3");

「paramName」の取得が遅い。他のものを取得するのは非常に高速です。

遅いとは: 200-800 ミリ秒 非常に速いとは: ~0 ミリ秒 (コード スニペットでは、パフォーマンス テストを記述しませんでしたが、使用していますSystem.currentTimeMillis())

アップデート

プロジェクトを .WAR ファイルにエクスポートし、それを Tomcat にデプロイしました。すべて順調。したがって、この問題はEclipseか何かに関連していると思います。

4

3 に答える 3

2

パラメータが遅延して解析される可能性があると思われます-最初にパラメータを要求すると、すべてが解析され、後で効率的にアクセスできるように保存されます。

しかし、200 ミリ秒は非常に長い時間のように聞こえます...これは、デバッガーで実行している場合ですか?

もちろん、これはサーブレット コンテナに完全に依存しています。

于 2010-04-03T12:06:12.950 に答える
1

Content-Lengthヘッダーを正しく送信しないという、Eclipse の組み込み Web ブラウザーのバグのように聞こえます。真剣に使ったことがないので経験から言えません。私は常にプロジェクトを統合された Tomcat または Glassfish にデプロイし、それを開始してから、実際のWeb ブラウザー (Eclipse とは別に実行する Firefox、Chrome、Safari、IE など) でページを開きます。これには、Firebug やコンソートなどの開発を大幅に容易にするブラウザのプラグインやアドオンを使用できるという大きな利点があります。

どうしても Eclipse 内で Web ブラウザーを使用したい場合は、Window > Web Browserに移動し、 Internal Web Browser以外を選択して、使用する Web ブラウザーを変更してみてください。

于 2010-04-04T23:09:46.987 に答える
0

メモリは足りていますか?Eclipse とデプロイメント・サーバーを使用する場合、多くのことが必要になります。

于 2010-04-03T12:23:08.750 に答える