*目次 [#t2c30cf3]
#contents

*JMeterとは [#v1558099]
パフォーマンステスト用のアプリケーションで、Javaで作成されてます。


**公式サイト [#x50d0014]

http://jmeter.apache.org/


***ダウンロード [#t4e3c768]
http://jmeter.apache.org/download_jmeter.cgi

*** インストール [#i32719ee]
 wget http://ftp.kddilabs.jp/infosystems/apache//jmeter/binaries/apache-jmeter-3.2.tgz
 tar zxvf apache-jmeter-3.2.tgz
 cd bin
 chmod 755 jmeter
 ./jmeter -v

 OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
     _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
    / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \
   / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) |
  / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <
 /_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 3.2 r1790748




*特徴 [#l7cb4bdb]
-GUIモードとNon-GUIモードがある
-ヒープサイズのでフォルトは512MB

**メモ [#ob277b95]
チュートリアルは、GUIモードで書かれていて設定がGUIでやるようだ。
テストの操作の記録をしたり、操作の編集ができるようだ。

GroovyとかのJSR223で定義されて言語で拡張可能なようだ。

コマンドラインでの設定は、以下の網羅的なドキュメントを読むようだ。

http://jmeter.apache.org/usermanual/test_plan.html

**GUIを使わずJMeterを動かす5つの方法 [#l587fafe]
Five Ways To Launch a JMeter Test without Using the JMeter GUI

https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui

*JUnit用のJMeterのチュートリアル [#k843f7a8]
http://jmeter.apache.org/usermanual/junitsampler_tutorial.html

JUnitのデフォルトの初期化と、後始末のメソッド、つまり、
setUpとtearDownの両メソッドのかわりに

oneTimeSetUpと
oneTimeTearDownというオプションが用意されているようだ。

テストケースのコンストラクターのうち、文字列を引数に持つコンストラクターを
優先的につかう仕組みがあるらしい。

**手順例 [#v572ca21]

-JUnitのテストを書く、jarをつくる?

mavenのmaven-dependency-pluginをつかう場合だと


 mvn clean test jar:jar jar:test-jar dependency:copy-dependencies


でtargetディレクトリに生成されるのでそれを$JMETER_HOME/lib/junitにコピー

-jarファイルを jmeter/lib/junit ディレクトリにコピペする
-JMeter開始
-Test Planを選ぶ ←ん?これはGUIモードか
-Addボタンを押し → Thread Groupを開く
-スレッドグループを選択
-Addボタンを押す → Sampler → JUnit Request へと遷移
-名前欄に 「my unit test」と入力する
-対象のJUnitのパッケージ名も入力する
-テストしたいクラスを入力する
-テストしたいメソッドを入力する
-成功したときのメッセージを入力する
-成功した時のコードを 1000 とする
-失敗時のメッセージを入力する
-失敗時のエラーコードを0001とする
-スレッドグループを選択
-Addをクリック → Listener → View Results Treeと遷移する

テスト計画ファイル(.jmxファイル)が作れるようだ

**起動コマンド例 [#n16a65ee]
 ./jmeter -n -t xxx.jmx

- -nはJMeterをNon-GUIモードで起動させるオプション
- -t 実行するテスト計画ファイルを指定するオプション

**ANTでも動かせる [#le9cbb7d]
JMeter 「ANT JMeter Task」がある。

「ANT JMeter Task」は、.jmxファイルをピックアップし
HTMLファイルでレポートを生成する

**MAVENでも動かせる [#ga7ed3a0]
JMater Maven Pluginが存在する

***フォルダの位置 [#c0794312]
 [root folder]/src/test/jmeter/Test.jmx

***pom [#fb95b9c6]
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.blazemeter</groupId>
    <artifactId>mvn-jmeter</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>maven-jmeter-demo</name>
    <url>http://maven.apache.org</url>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>1.4.1</version>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
 </project>
***mavenで起動 [#h517c3ce]
 mvn verify
または
 mvn install

***Javaから起動 [#t0c15f2c]
StandardJMeterEngine

とやらで動かす。gradleでtest jarの作り方がちょっとわからないので、
こちらで試すのがいいのか?

***jmeter-gradle-plugin [#me7d1dd6]
http://jmeter.foragerr.net/

https://github.com/jmeter-gradle-plugin/jmeter-gradle-plugin



***JMeterをサポートしている製品 [#ob6e48b3]
BlazeMeter

https://www.blazemeter.com/

テスト計画(jmxファイル)をアップロードしてテストができる

YAML形式やjson形式にも対応

Jenkinsとかいろいろ、CIツール(Jenkins, Bamboo, Travis, Teamcity, CircleCI)と連携

*日本語のそれっぽい記事 [#ye8f69ca]
**JMeterとJUnitとMavenで独自プロトコルサーバーの負荷テストを自動化するぞ [#hbbb0342]

http://labs.gree.jp/blog/2014/12/12037/

***JavaWebsocket記事 [#v4b81a6d]

http://qiita.com/tatesuke/items/bd6b23053aa5629f8434

**Linuxコマンドラインで JMeter を実行する方法 [#y5f4a4bf]

http://www.checksite.jp/jmeter-on-linux/
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS