Javaアプリケーション/Oracleデータベースのプロファイリング/最適化を開始するにはどうすればよいですか?
-
01-10-2019 - |
質問
昨日、ABOUSEアプリケーションの最適化と、プログラマーがプログラムの最も使用されている部分をどのように見つけ、プロファイリングと変更を行うことにより、(メモリ/スピードのゲインを投資する時間/作業を見たとき)を読みました。今、私はEclipseプロファイラーを実行し、VisualVMを取得しましたが、このデータを適切に使用する方法はありません。私の主な懸念は、メモリの使用(XMLを生成し、zipとしてディスクに保存するか、ダウンロードのためにユーザーにzipとしてフラッシュするか)とデータベースからの減速です(インデックスがないと思われるか、良くないし、いずれにせよ、それらについてあまり知らないので、これ以上話すことはできません:)しかし、私はこれを始める方法すら知らない。最初のケースでは、VisalVMはプログラムが最大200MBを使用していることを示していますが、ヒープダンプを検査して、最も使用されているオブジェクト(または呼び出された方法)をクリックすると、情報は圧倒的です。 2番目のケースでは、ヒキガエルを除いて、さらに少ないことがわかります。
私が知りたいのは、これを始める方法、そして地元のパフォーマンスに満足しているとき、生産アプリケーションでそれを行う方法です。
edit1:したがって、メモリ使用量の具体的な例の場合(XMLを生成し、zipとしてディスクに保存するか、ダウンロードのためにユーザーにzipとしてフラッシュするかのいずれかです)。これは、「ヒープダンプ」を選択したときに得られるものです。その後、保持されたサイズで上位20個のオブジェクトを選択し、詳細を開きます。
そして、これは私が同じユースケースでプロファイラーを開いたときに得られるものです:
問題は、この画面が私に何を教えてくれるのかということです。 :)
解決
データベースアプリケーションが進む限り、Cary Millsapの優れた記事を読むことから始めます。
http://method-r.com/downloads/cat_view/38-papers-and-articles
たとえば...