0

JSF (webapp) ページの読み込みに時間がかかります。ほとんどの時間は、サーバーからの応答の待機に費やされます。だから私はそれが時間を食いつぶしているサーバー上の何かだと思います。Netbeans ベースのプロファイラーを使用していくつかのヒントを得ようとしましたが、CPU パフォーマンスを分析している間、ある時点から各メソッドで費やされた時間が表示されます。そのため、ページのリクエストを送信したときに何が時間を消費しているのかわかりません。

リクエストの処理中にどのメソッドが時間を食べているかというこの情報をどのように取得できるかについて、いくつかのヒントを教えてください。

4

2 に答える 2

1

大規模なシステムを使用していて、専門的な方法で作業を行いたい場合は、プロファイラー ツールを検討する必要があると思います。そうしないと、各呼び出しの前に時間経過メソッドで独自のコードをトレースすることになります(笑)

私はBorland OptimizeItを使用しましたが、昔は素晴らしい仕事をしていました:)

を見てみましょう:

JProfiler

あなたのキット

Jvisualvm (Javas 独自) visualvm.java.net (Netbeans でも使用されます)

Eclipse を使用している場合は、TPTP バンドルをご覧ください。

最適化する

于 2013-09-04T15:26:40.260 に答える
1

サーバーでかかった時間。最初に、これがネットワークが遅延を引き起こしていることを意味するかどうかを確認します (firebug がこれをどのように測定するかを確認する必要があります)。

ネットワーク遅延の問題ではないことを確認した場合、最適な選択を行うことができるプラットフォームとアプリのサイズに応じて、プロファイラーを使用することをお勧めします。

たとえば、アプリケーションがロードするクラスが 65k 未満の場合、jvisualvm を使用します。そうしないと、問題が発生する可能性があります。

jvisualvm を起動したら、アプリ プロセスにアタッチできます。そこに入ったら、最初にプロファイリングのサンプリングを試すことをお勧めします。これは、リソースの消費がそれほど積極的ではありません (シナリオの大きさや負荷がどの程度かはわかりません。インストルメンテーション プロファイリングは重すぎてサポートできない可能性があります)。

jvisualvm をプロセスにアタッチし、Sampler に移動して [開始] ボタンを押すだけで、データはその時点以降に収集されます。そのため、サンプリングを有効にした後、おそらく数回リクエストをトリガーして、取得できるようにする必要があります。時間が費やされている場所のより良い感じ。

于 2013-09-05T05:38:54.807 に答える