Javaアプリケーション/Oracleデータベースのプロファイリング/最適化を開始するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3674577

質問

昨日、ABOUSEアプリケーションの最適化と、プログラマーがプログラムの最も使用されている部分をどのように見つけ、プロファイリングと変更を行うことにより、(メモリ/スピードのゲインを投資する時間/作業を見たとき)を読みました。今、私はEclipseプロファイラーを実行し、VisualVMを取得しましたが、このデータを適切に使用する方法はありません。私の主な懸念は、メモリの使用(XMLを生成し、zipとしてディスクに保存するか、ダウンロードのためにユーザーにzipとしてフラッシュするか)とデータベースからの減速です(インデックスがないと思われるか、良くないし、いずれにせよ、それらについてあまり知らないので、これ以上話すことはできません:)しかし、私はこれを始める方法すら知らない。最初のケースでは、VisalVMはプログラムが最大200MBを使用していることを示していますが、ヒープダンプを検査して、最も使用されているオブジェクト(または呼び出された方法)をクリックすると、情報は圧倒的です。 2番目のケースでは、ヒキガエルを除いて、さらに少ないことがわかります。

私が知りたいのは、これを始める方法、そして地元のパフォーマンスに満足しているとき、生産アプリケーションでそれを行う方法です。

edit1:したがって、メモリ使用量の具体的な例の場合(XMLを生成し、zipとしてディスクに保存するか、ダウンロードのためにユーザーにzipとしてフラッシュするかのいずれかです)。これは、「ヒープダンプ」を選択したときに得られるものです。その後、保持されたサイズで上位20個のオブジェクトを選択し、詳細を開きます。Heapdump screenshot

そして、これは私が同じユースケースでプロファイラーを開いたときに得られるものです:

alt text

問題は、この画面が私に何を教えてくれるのかということです。 :)

役に立ちましたか?

解決

データベースアプリケーションが進む限り、Cary Millsapの優れた記事を読むことから始めます。

http://method-r.com/downloads/cat_view/38-papers-and-articles

たとえば...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top