Apache* Tomcat* からの Java* アプレットをプロファイルするためインテル® VTune™ Amplifier XE を利用する

同カテゴリーの次の記事

並列プログラムのテスト

この記事は、インテル® デベロッパー・ゾーンに掲載されている「Using VTune™ Amplifier XE to profile Java applet from Apache-tomcat」の日本語参考訳です。


この記事は、Tomcat* 環境で開発した Java* アプレットのパフォーマンス・データをインテル® VTune™ Amplifier XE で収集する方法を紹介します。

最初に、JDK をインストールします。ここでは、Java* バージョン 1.7.0_11 を使用しています。JDK をインストールしたら、次のコマンドで環境変数を設定します。
$ export JRE_HOME=/home/peter/jdk1.7.0_11/

次に、apache-tomcat-7.0.40 をダウンロードして、任意のフォルダーに展開します。通常、Tomcat は次の 2 つの sh ファイルを使って動作するため、特別な設定は必要ありません。
$ Apach-tomcat-7.0.4/bin/startup.sh
$ Apach-tomcat-7.0.4/bin/shutdown.sh

“ps axuwf | grep java” コマンドで Java* サービスプロセス (Tomcat) が動作しているかどうかを確認できます。
また、“ps axuwf | grep java” コマンドを使用して、TCP サービスが 8080 ポートで動作しているかどうかを確認 (リスニング) することもできます。次に例を示します。
tcp        0      0 :::8080                     :::*                        LISTEN      12753/java   

Tomcat が正常に起動しているのを確認したら、ブラウザーで http://localhost:8080 にアクセスします。ウェルカムページが表示されれば、Tomcat HTTP アプレットサービスは動作しています。

次に、Java* HTTP サーブレット・アプリケーションをコンパイルする前に、Tomcat から JDK ライブラリーのディレクトリーへ servlet-api.jar をコピーします。次に例を示します。
$ cp apache-tomcat-7.0.40/jre/lib/servlet-api.jar /home/peter/jdk1.7.0_11/jre/lib/ext  

そして、Java* アプリケーションをコンパイルしてクラスを生成します。次に例を示します。
$ javac –g calc.java

calc ディレクトリー全体と calc.war ファイルを apache-tomcat-7.0.40/webapps へコピーする必要があります。また、場合によっては、calc ディレクトリー以下にほかの jsp ファイルや index.html などを作成しなければいけないかもしれません。最後に、すべてのファイルを .war ファイルに圧縮します。次に例を示します。
$ jar cvf calc.war calc

[添付の calc.zip には、サンプル Java* ファイル、jsp ファイル、index.html が含まれています。]

それでは、calc サンプル・アプリケーションを使って、インテル® VTune™ Amplifier XE 2013 で HTTP サーブレットのパフォーマンス・データを収集してみましょう。次の操作を行います。

  1. Tomcat サービスを起動します: $ Apach-tomcat-7.0.4/bin/startup.sh
  2. 実行中のターゲット Java* プロセスを見つけます: ps -ae | grep java
  3. Firefox* またはその他のブラウザーでアドレスを入力します (例: http://localhost:8080/calc )。
  4. [To a servlet] をクリックして calc クラスを実行します。
  5. 次のコマンドを実行します:
    $ amplxe-cl -collect lightweight-hotspots -knob enable-stack-collection=true -knob enable-call-counts=true -search-dir all:rp=/home/peter/apache-tomcat-7.0.40/webapps/ -target-pid 3700 -duration 30
  6. 結果用のディレクトリーが生成され、amplxe-gui で結果を開いて確認できます。

Apach Tomcat を再度実行しない場合は、次のコマンドで終了します。

$ Apach-tomcat-7.0.4/bin/shutdown.sh

hotspot を使用してターゲットプロセスをプロファイルすると、ホットな関数は “[Outside any known module]” として報告されます。

添付ファイル サイズ
calc.zip
http://software.intel.com/sites/default/files/article/393236/calc.zip” type=”application/zip
6.33KB

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • BigDL: Apache Spark* 上の最適化されたディープラーニングBigDL: Apache Spark* 上の最適化されたディープラーニング この記事は、インテルの The Parallel Universe Magazine 28 号に収録されている、オープンソースの分散型ディープラーニング・フレームワークでディープラーニングの普及を促進する取り組みを紹介した章を抜粋翻訳したものです。 人工知能 (AI) […]
  • インテル® VTune™ Amplifier XE による Java* および Python* コードのプロファイルインテル® VTune™ Amplifier XE による Java* および Python* コードのプロファイル この記事は、インテルの The Parallel Universe Magazine 26 号に収録されている、さまざまなツールと手法によりマシンラーニングで Python* のパフォーマンスを向上する方法に関する章を抜粋翻訳したものです。 長年にわたり、Java* […]
  • インテル Parallel Universe 26 号日本語版の公開インテル Parallel Universe 26 号日本語版の公開 インテル Parallel Universe マガジンの最新号が公開されました。この号では、インテル® Xeon Phi™ プロセッサー向けのコードの現代化について説明します。また、インテル® Parallel Studio XE 2017 […]
  • インテル® Performance Bottleneck Analyzerインテル® Performance Bottleneck Analyzer この記事は、インテル® ソフトウェア・ネットワークに掲載されている「Intel® Performance Bottleneck Analyzer」の日本語参考訳です。 はじめに: インテル® Performance Bottleneck Analyzer (インテル® PBA) […]
  • インテル Parallel Universe 33 号日本語版の公開インテル Parallel Universe 33 号日本語版の公開 インテル Parallel Universe マガジンの最新号が公開されました。 注目記事: BigDL により Apache Spark* 上で人工知能を向上 掲載記事 WebAssembly が Web 上のコンピューティングの未来を握る理由 コードの現代化を実践: […]