*目次 [#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/