この記事は、インテル® デベロッパー・ゾーンに掲載されている「Using VTune™ Amplifier XE to profile Java applet from Apache-tomcat」 (http://software.intel.com/en-us/articles/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 サンプル・アプリケーションを使って、インテル® VTune™ Amplifier XE 2013 で HTTP サーブレットのパフォーマンス・データを収集してみましょう。次の操作を行います。
- Tomcat サービスを起動します: $ Apach-tomcat-7.0.4/bin/startup.sh
- 実行中のターゲット Java* プロセスを見つけます: ps -ae | grep java
- Firefox* またはその他のブラウザーでアドレスを入力します (例: http://localhost:8080/calc )。
- [To a servlet] をクリックして calc クラスを実行します。
- 次のコマンドを実行します:
$ 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 - 結果用のディレクトリーが生成され、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 |
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。