2

「ページが約1.3秒で読み込まれた」など、Googleの検索時間と同様のサーバー応答時間をページに表示しようとしています。

これを達成するための最良の方法は何ですか?私は現在MVCフレームワークをセットアップしており、最初のアプローチは、コントローラーに初期時間を保存し、それをモデルとしてビューに渡すことでした。経過時間を計算するのはビュー次第です。

どういうわけか、より良いアプローチが必要だと思います。すべてのリクエストについて、コンテキストには、リクエストの開始時間または経過時間のいずれかの情報がすでに記録されている可能性があります。

誰かが私の最初の考えが正しかったかどうかを確認できますか?または、すでに実装されているソリューションがありますか?

ありがとう、

ジェイソン

4

2 に答える 2

3

サーブレットフィルタを使用して、各リクエスト(または少なくともページへの各リクエスト)のリクエスト属性に開始時刻を格納し、ビュー実行の終了時に経過時間を計算できます。

TilesやSiteMeshなどのテンプレートエンジンを使用する場合、この経過時間の計算は、ページテンプレートという1つの場所で呼び出されます。

于 2012-05-28T20:18:34.533 に答える
3

コントローラまでずっと待つと、多くの「ロード時間」が失われる可能性があります。フィルタを使用して、プロセスのできるだけ早い段階から遅い段階までリクエストの時間を計りたいと考えています。Java EEチュートリアルには、フィルターの作成に関する詳細があります。これを正確に扱う別のSOの答えもあります:

春のMVCでは、速度実行時間をテストするためにカウンターを開始および終了する場所はどこですか?

于 2012-05-28T20:19:58.463 に答える