- - PR -
JSPのレスポンスが遅い
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-03-04 17:11
Tomcat5.5.17
クライアント(ブラウザ)からあるJSPのページを リクエストし、HTMLのページを表示させるものを作成しています。 ここで、HTMLのページサイズが軽ければいいのですが、 大きくなると、すごく時間がかかります。 デバックを実行したところ、 CoyoteAdapter.service(CoyoteAdapter.java 151) のところで時間がかかっているようです。 CoyoteAdapter.javaのソースを見たところ、 147: try { 148: // Parse and set Catalina and configuration specific 149: // request parameters 150: postParseRequest(req, request, res, response); 151: // Calling the container 152: connector.getContainer().invoke(request, response); 153: response.finishResponse(); 154: 155: req.action( ActionCode.ACTION_POST_REQUEST , null); 156: } catch (IOException e) { 157: ; 158: } catch (Throwable t) { 159: log(sm.getString("coyoteAdapter.service"), t); 160: } finally { 161: // Recycle the wrapper request and response 162: request.recycle(); 163: response.recycle(); 164: } このあたりで時間がかかっているのですが、 原因は何でしょうか? 何か解決策があればご教示頂きたく。 [ メッセージ編集済み 編集者: ボブ 編集日時 2008-03-04 17:14 ] |
|
投稿日時: 2008-03-04 17:31
プリコンパイルしてみてはどうでしょう。
|
|
投稿日時: 2008-03-04 17:59
コンパイルはしてあります。
一気に大量のページを表示させるのは 無理があるのでしょうか。。。 |
|
投稿日時: 2008-03-04 18:40
デバッガでCoyoteAdapter内を1行ずつ追っていって
どの処理で時間が掛かっているのか 確認してはいかがでしょうか。 実は出力されるHTMLのサイズが大きいので 転送及びブラウザのHTML解析に時間掛かっているだけとか |
|
投稿日時: 2008-03-04 18:50
プロファイラなりでどこの処理で時間がかかっているか計測しないことには始りませんね。
Webシステムの場合はネットワークがボトルネックの可能性も考慮しないといけませんし。 HTMLのデータ量によりますが、あすかさんの言うように、 クライアントでのレンダリングが遅いという可能性もありますし。 ページサイズの増加に対して、時間が一次関数的な増え方であれば妥当とも言える。 「すごく時間がかかる」というのも感性では話にならないのでデータ量と 時間の関係を計測して傾向を見て判断する必要がありますね。 |
|
投稿日時: 2008-03-04 19:17
どうやらクライアント側のIEで、CPUがぶん回ってますので
あすかさん nagiseさんの言われるように 表示に時間がかかっているだけなのかもしれませんね。 もう少し、時間とサイズの関係を調べてみます。 |
1