負荷テストのツール Gatling を使ってみた。
セットアップにごにょごにょしてしまったのでメモライズ。
2.1.x は Java のバージョン8でしか使えません、というお話。
公式サイトから本体をDLして、任意のディレクトリに展開する。
Gatling Load and Performance testing - Open-source load and performance testing
展開したディレクトリに移動して、テスト実行スクリプトを呼び出す。
と、バージョンによっては以下のエラーが表示される。
cd gatling-charts-highcharts-bundle-2.1.7 sh bin/gatling.sh
Java9(or 6)
GATLING_HOME is set to /Users/akirasan/work/gatling-charts-highcharts-bundle-2.1.7 intx ThreadPriorityPolicy=42 is outside the allowed range [ 0 ... 1 ] Improperly specified VM option 'ThreadPriorityPolicy=42' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
Java7
GATLING_HOME is set to /Users/akirasan/work/gatling-charts-highcharts-bundle-2.1.7 Exception in thread "main" java.lang.UnsupportedClassVersionError: io/gatling/app/Gatling : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
java8
起動するとどのシミュレータを実行するか尋ねられるので選択。
*デフォルトでサンプルが6つ入っているので試しに一番を実行
GATLING_HOME is set to /Users/akirasan/work/gatling-charts-highcharts-bundle-2.1.7 Choose a simulation number: [0] computerdatabase.BasicSimulation [1] computerdatabase.advanced.AdvancedSimulationStep01 [2] computerdatabase.advanced.AdvancedSimulationStep02 [3] computerdatabase.advanced.AdvancedSimulationStep03 [4] computerdatabase.advanced.AdvancedSimulationStep04 [5] computerdatabase.advanced.AdvancedSimulationStep05 1 Select simulation id (default is 'advancedsimulationstep01'). Accepted characters are a-z, A-Z, 0-9, - and _ Select run description (optional) Simulation computerdatabase.advanced.AdvancedSimulationStep01 started... ================================================================================ 2018-03-09 19:19:12 0s elapsed ---- Scenario Name ------------------------------------------------------------- [ ] 0% waiting: 1 / active: 0 / done:0 ---- Requests ------------------------------------------------------------------ > Global (OK=0 KO=0 ) ================================================================================ ================================================================================ 2018-03-09 19:19:16 5s elapsed ---- Scenario Name ------------------------------------------------------------- [--------------------------------------------------------------------------] 0% waiting: 0 / active: 1 / done:0 ---- Requests ------------------------------------------------------------------ > Global (OK=4 KO=0 ) > Home (OK=1 KO=0 ) > Home Redirect 1 (OK=1 KO=0 ) > Search (OK=1 KO=0 ) > Select (OK=1 KO=0 ) ================================================================================ ================================================================================ 2018-03-09 19:19:22 10s elapsed ---- Scenario Name ------------------------------------------------------------- [--------------------------------------------------------------------------] 0% waiting: 0 / active: 1 / done:0 ---- Requests ------------------------------------------------------------------ > Global (OK=8 KO=0 ) > Home (OK=2 KO=0 ) > Home Redirect 1 (OK=2 KO=0 ) > Search (OK=1 KO=0 ) > Select (OK=1 KO=0 ) > Page 1 (OK=1 KO=0 ) > Page 2 (OK=1 KO=0 ) ================================================================================ ================================================================================ 2018-03-09 19:19:27 15s elapsed ---- Scenario Name ------------------------------------------------------------- [--------------------------------------------------------------------------] 0% waiting: 0 / active: 1 / done:0 ---- Requests ------------------------------------------------------------------ > Global (OK=10 KO=0 ) > Home (OK=2 KO=0 ) > Home Redirect 1 (OK=2 KO=0 ) > Search (OK=1 KO=0 ) > Select (OK=1 KO=0 ) > Page 1 (OK=1 KO=0 ) > Page 2 (OK=1 KO=0 ) > Page 3 (OK=1 KO=0 ) > Page 4 (OK=1 KO=0 ) ================================================================================ ================================================================================ 2018-03-09 19:19:31 19s elapsed ---- Scenario Name ------------------------------------------------------------- [##########################################################################]100% waiting: 0 / active: 0 / done:1 ---- Requests ------------------------------------------------------------------ > Global (OK=13 KO=0 ) > Home (OK=2 KO=0 ) > Home Redirect 1 (OK=2 KO=0 ) > Search (OK=1 KO=0 ) > Select (OK=1 KO=0 ) > Page 1 (OK=1 KO=0 ) > Page 2 (OK=1 KO=0 ) > Page 3 (OK=1 KO=0 ) > Page 4 (OK=1 KO=0 ) > Form (OK=1 KO=0 ) > Post (OK=1 KO=0 ) > Post Redirect 1 (OK=1 KO=0 ) ================================================================================ Simulation finished Parsing log file(s)... Parsing log file(s) done Generating reports... ================================================================================ ---- Global Information -------------------------------------------------------- > request count 13 (OK=13 KO=0 ) > min response time 287 (OK=287 KO=- ) > max response time 1121 (OK=1121 KO=- ) > mean response time 452 (OK=452 KO=- ) > std deviation 242 (OK=242 KO=- ) > response time 50th percentile 333 (OK=333 KO=- ) > response time 75th percentile 540 (OK=540 KO=- ) > mean requests/sec 0.683 (OK=0.683 KO=- ) ---- Response Time Distribution ------------------------------------------------ > t < 800 ms 11 ( 85%) > 800 ms < t < 1200 ms 2 ( 15%) > t > 1200 ms 0 ( 0%) > failed 0 ( 0%) ================================================================================ Reports generated in 0s. Please open the following file: results/advancedsimulationstep01-1520590751977/index.html
実行結果は results ディレクトリの配下に保存される。
open results/advancedsimulationstep01-1520590751977/index.html