// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//


== NetBeans IDEでの負荷ジェネレータの使用

アプリケーションのパフォーマンスをテストするときは、標準的な負荷の下でテストを実行すると有効な場合があります。開発環境でアプリケーションを実行している場合は、これが困難なことがあります。負荷の下でのアプリケーション実行をエミュレートする方法の1つに、負荷ジェネレータのスクリプトを使用する方法があります。このドキュメントでは、IDEによって提供される負荷ジェネレータのサポートの概要について説明します。

独自の負荷ジェネレータ・ランタイムを提供するかわりに、IDEは、サードパーティ製ツールの統合を使用しています。NetBeans IDEは、負荷テスト・スクリプトを再実行するためのApache JMeter負荷テスト・ツール(link:http://jakarta.apache.org/jmeter[+ホーム・ページ+])をサポートしています。IDEでJMeterツールを使用するには、まず、必要なプラグインを更新センターからダウンロードする必要があります。


=== 内容

image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます"]

* <<Exercise_1,JMeterプラグインのインストール>>
* <<Exercise_2,JMeter負荷テスト・スクリプトの操作>>
* <<Exercise_2a,負荷テスト・スクリプトの作成>>
* <<Exercise_2b,負荷テスト・スクリプトの編集>>
* <<Exercise_2c,負荷テスト・スクリプトの開始>>
* <<Exercise_2d,負荷テスト・スクリプトの停止と再開>>


== 開始


=== 前提条件

このドキュメントは、次のテクノロジについて基本的な知識またはプログラミング経験を持つ読者を想定して書かれています。

* Javaプログラミング
* NetBeans IDE


=== チュートリアルに必要なソフトウェア

このチュートリアルでは、コンピュータに次のソフトウェアをインストールしておく必要があります。

|===
|ソフトウェアまたはリソース |必須バージョン 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |7.2, 7.3, 7.4, 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit (JDK)+] |バージョン7または8 

|JMeter Kitおよび負荷ジェネレータ・プラグイン |NetBeans更新センターからのダウンロード 

|GlassFishアプリケーション・サーバー |3.x、4.x 
|===

*注意:*

* プロファイリング・ツールはNetBeans IDEにバンドルされているため、アプリケーションのプロファイリングを開始するための特殊な設定は必要ありません。
* JMeter負荷テスト・ツールのサポートを追加するには、プラグイン・マネージャを使用して、JMeter Kitおよび負荷ジェネレータ・プラグインを更新センターからダウンロードします。


== JMeterプラグインのインストール

*JMeter Kit*および*負荷ジェネレータ*・プラグインをNetBeans更新センターからダウンロードしてインストールすることによって、JMeter負荷ジェネレータのサポートを容易に追加できます。

プラグインをダウンロードするには、次を実行します。

1. メイン・メニューから「ツール」>「プラグイン」を選択して、プラグイン・マネージャを開きます。
2. 「使用可能なプラグイン」タブをクリックし、JMeter Kitおよび負荷ジェネレータ・プラグインのチェックボックスを選択します。「インストール」をクリックします。
image::images/generator-plugin.png[title="プラグイン・マネージャの負荷ジェネレータ・プラグイン"]


. インストーラの手順に従ってプラグインをダウンロードおよびインストールし、「終了」をクリックします。「閉じる」をクリックしてプラグイン・マネージャを終了します。

プラグインをインストールすると、新規ファイル・ウィザードに負荷テスト・スクリプト・カテゴリが追加されます。


== JMeter負荷テスト・スクリプトの操作

JMeterプラグインのサポートは、IDEのプロファイリング・ツールに緊密に統合されています。JMeterプラグインを使用すると、IDE内からJMeter負荷テスト・スクリプトを容易に作成して実行できます。

負荷ジェネレータのスクリプトを使用するには、特定のプロジェクト用のスクリプトを作成し、アプリケーションを実行しているサーバーにかかるプロジェクトの負荷のタイプに応じてそのスクリプトを変更します。スクリプトを実行すると、このスクリプトによって、標準的な実行条件の下でのアプリケーションの動作をエミュレートする負荷がサーバーにかけられます。その後、アプリケーションのパフォーマンスをテストできるため、得られるテスト結果は、標準的な条件の下でのアプリケーションのパフォーマンスにより近いものになります。


=== 新しい負荷テスト・スクリプトの作成

プラグインをダウンロードしてインストールすると、新規ファイル・ウィザードで新しいカテゴリが作成されます。プロジェクトで負荷スクリプト・ファイルを作成するには、新規ファイル・ウィザードを使用します。

新しい負荷テスト・スクリプトを作成するには、次を実行します。

1. 「プロジェクト」ウィンドウでプロジェクト・ノードを右クリックし、「新規」>「その他」を選択します。
2. 「カテゴリ」ペインで負荷テスト・スクリプトを展開し、JMeterプランを選択した後、「ファイル・タイプ」ペインで新規JMeterプランを選択します。「次」をクリックします。
3. スクリプトの名前を入力し、「終了」をクリックします。

新しいスクリプトを作成すると、IDEによって、そのスクリプトが「プロジェクト」ウィンドウ内のロード・ジェネレータのスクリプト・ノードの下に配置されます。「ファイル」ウィンドウでは、そのスクリプトがIDEによって ``jmeter`` ディレクトリ内に保存されることがわかります。IDEの外部ですでに負荷テスト・スクリプトを作成している場合は、 ``jmeter`` ディレクトリを作成し、そのディレクトリにスクリプトを追加することによって、IDE内からそのスクリプトを実行できます。

image::images/new-plan.png[] 


=== 負荷テスト・スクリプトの編集

JMeter外部エディタを使用すると、アプリケーションのニーズに従ってスクリプトを変更できます。負荷テスト・スクリプトを作成するか、またはスクリプトをプロジェクトに追加した後、「プロジェクト」ウィンドウでそのスクリプトを右クリックし、*外部編集*を選択することによって外部エディタを起動できます。

JMeterテスト・スクリプトの編集の詳細は、link:http://jakarta.apache.org/jmeter/usermanual/index.html[+JMeterユーザー・マニュアル+]を参照してください。

image::images/jmeter-externaledit.png[title="プロジェクト構造内のJMeter負荷テスト・スクリプト"] 


=== 負荷テスト・スクリプトの開始

負荷テスト・スクリプトは、次の方法で開始できます。

* *スタンドアロン・モードで*

「*サービス*」ウィンドウで、「ロード・ジェネレータ」ノードを右クリックし、*「JMeter」>「開始」*を選択します。このアクションによって、実行するスクリプトを指定できる参照ダイアログが表示されます。

image::images/jmeter-services.png[]
* *プロファイリング・タスクの選択ウィンドウから*

Webアプリケーションをプロファイリングする場合は、「プロファイリング・タスクの選択」ウィンドウで、実行する負荷テスト・スクリプトを指定できます。選択されたスクリプトは、ブラウザ・ウィンドウが開く直前に開始されます。

image::images/jmeter-profilewindow72.png[]


=== 負荷テスト・スクリプトの停止と再開

負荷テスト・スクリプトは、*「出力」ウィンドウ*または*「サービス」ウィンドウ*から停止したり、再開したりすることができます。

スクリプトがロードされた後、*「出力」ウィンドウ*に「JMeter」タブが開きます。このウィンドウには、負荷ジェネレータの現在の状態が表示されます。「出力」ウィンドウの左マージンには、スクリプトを開始、停止、または再開するためのコントロールが存在します。

image::images/jmeter-output.png[title="負荷ジェネレータのステータスを示す「出力」ウィンドウ"]

負荷ジェネレータの現在のステータスは、*「サービス」ウィンドウ*にも表示されます。「JMeter」ノードの下にあるノードを選択し、ポップアップ・メニューから項目を選択することによって、スクリプトを停止したり、再開したりすることができます。

image::images/jmeter-services2.png[title="負荷ジェネレータのステータスを示す「サービス」ウィンドウ"]




== その他のリソース

この基本的な概要は、IDE内からJMeter負荷テスト・スクリプトを使用する方法を示しています。特定のアプリケーション用の負荷テスト・スクリプトの開発については、次のリソースを参照してください。

* link:http://jakarta.apache.org/jmeter[+Apache JMeter負荷テスト・ツール+]
* link:http://jakarta.apache.org/jmeter/usermanual/index.html[+JMeterユーザー・マニュアル+]
link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20a%20Load%20Generator[+このチュートリアルに関するご意見をお寄せください+]



== 関連項目

* link:../web/quickstart-webapps.html[+Webアプリケーション開発入門+]
* link:profiler-intro.html[+Javaアプリケーションのプロファイリング入門+]
* link:../../trails/java-ee.html[+Java EEおよびJava Webの学習+]
