Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Gatling砲をぶっ放せ / Let Measure Performance with Gatling
Akira Morikawa
March 08, 2019
Technology
0
550
Gatling砲をぶっ放せ / Let Measure Performance with Gatling
TECH DO #13
https://techdo.connpass.com/event/122193/
Akira Morikawa
March 08, 2019
Tweet
Share
More Decks by Akira Morikawa
See All by Akira Morikawa
web-secure-phpcon2020
ariaki
3
2.5k
オブジェクトライフサイクルとメモリ管理を学ぼう / OOC 2020
ariaki
8
2.2k
エンジニアはアウトプットによって成長できるのか? / Grow with your output
ariaki
23
5k
アウトプットを始めよう / How to begin output jawsug-bgnr
ariaki
2
2.5k
参加者の安全を守れていますか? / Protecting community safety
ariaki
1
4.5k
タピオカに学ぶ二段階認証 / tapioca-mfa
ariaki
5
840
古に学ぶ個人開発のススメ / My recommendation of personal development
ariaki
0
930
アウトプットって何? / what is output replay
ariaki
1
1.3k
登壇内容を設計しよう / Design Your Talk
ariaki
7
1.8k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
3
9k
SlackBotで あらゆる業務を自動化。問い合わせ〜DevOpsまで #CODT2022
kogatakanori
0
740
1人目QA奮闘記/QA Engineer's Struggle
mii3king
2
1.1k
IoTLT88-NTKanazawa-laundry-dry
yukima0707
0
210
UIKitのアップデート #WWDC22
akatsuki174
4
220
データエンジニアと作るデータ文化
yuki_saito
4
1.5k
Istio入門
nutslove
15
4.9k
複数のスクラムチームをサポートするエンジニアリングマネジメントの話
okeicalm
0
1.1k
JDK Flight Recorder入門
chiroito
1
500
Build 2022で発表されたWindowsアプリ開発のあれこれ振り返ろう
hatsunea
1
370
LINEのB2Bプラットフォームにおけるトラブルシューティング2選
line_developers
PRO
3
290
Security Hub のマルチアカウント 管理・運用をサーバレスでやってみる
ch6noota
0
770
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Producing Creativity
orderedlist
PRO
333
37k
Writing Fast Ruby
sferik
612
57k
Embracing the Ebb and Flow
colly
73
3.4k
Statistics for Hackers
jakevdp
781
210k
4 Signs Your Business is Dying
shpigford
169
20k
A designer walks into a library…
pauljervisheath
196
16k
The Cult of Friendly URLs
andyhume
68
4.8k
The Invisible Customer
myddelton
110
11k
Infographics Made Easy
chrislema
233
17k
Transcript
Mar 08, 2019 | @ariaki4dev | #techdo 砲をぶっ放せ Let Measure
Performance with Gatling
Mar 08, 2019 | @ariaki4dev | #techdo 2 About Me
ariaki ( ありあき ) @ariaki4dev #engineers_lt , #techdo MEDIA DO Co.,Ltd. Tokyo, Japan https://press.forkwell.com/entry/2019/01/30/engineer_component https://shiganai.org/ep/sp52-ariaki4dev https://note.mu/ariakira
Mar 08, 2019 | @ariaki4dev | #techdo 3 What’s Gatling
• Webアプリケーションの負荷テストツール • オープンソース(※製品版あり) • 製品の開発言語はScala • シナリオファイルはScala DSLで書ける • ハイパフォーマンス • レポートHTMLが綺麗 • https://gatling.io/
Mar 08, 2019 | @ariaki4dev | #techdo https://gatling.io/ https://jmeter.apache.org/ http://grinder.sourceforge.net/
http://tsung.erlang-projects.org/ https://www.microfocus.com/produc ts/loadrunner-load-testing/ 4 Trends 主要なロードテストツール
Mar 08, 2019 | @ariaki4dev | #techdo 5 Trends
Mar 08, 2019 | @ariaki4dev | #techdo Demonstration
Mar 08, 2019 | @ariaki4dev | #techdo 7 How to
Install 直接インストール パッケージマネージャを利用 1. 以下よりダウンロード 2. 適当な場所に解凍 3. 以下のファイルを実行 [macOS/Linux] bin/gatling.sh [Windows] bin/gatling.bat • maven • sbt
Mar 08, 2019 | @ariaki4dev | #techdo 8 How to
Install 1. それぞれ最新版をインストールします ◦ JDK 11 (current) ◦ Scala sbt (current) 2. 環境変数を設定します ◦ JAVA_HOME ◦ SBT_HOME 3. 以下のコマンドでデモプロジェクトをダウンロードします $ git clone https://github.com/gatling/gatling-sbt-plugin-demo.git sbt使用時の詳細手順
Mar 08, 2019 | @ariaki4dev | #techdo 9 How to
Install sbt使用時の詳細手順 4. リポジトリのディレクトリに移動し、 sbt を実行します ※初回実行時のみパッケージダウンロードが必要なため時間がかかります 5. sbt シェルが起動します ◦ 全体テスト … > gatling:test ◦ 特定テスト … > gatling:testOnly [クラス名]
Mar 08, 2019 | @ariaki4dev | #techdo 10 How to
Install project build.properties plugins.sbt src build.sbt + resources scala … ビルド設定を記述する … プラグインを読込設定する … テスト時に読み込まれるリソースファイルを配置する … テスト時に読み込まれるシナリオファイルを配置する … ビルドオプションを設定する ディレクトリ構成
Mar 08, 2019 | @ariaki4dev | #techdo 11 Test Code
src/test/scala/mediado/TestSimulation.scala ①クライアント設定 ②シナリオ作成 ③テスト実行設定
Mar 08, 2019 | @ariaki4dev | #techdo 12 Test Code
シナリオ設定 シナリオ名 リクエスト名 リクエストパス レスポンス検証 • HTTP/1.x 200を返却している • <h1>HOME</h1>タグが存在する 複数手続きを1シナリオで実行
Mar 08, 2019 | @ariaki4dev | #techdo 13 Test Code
シナリオ設定例
Mar 08, 2019 | @ariaki4dev | #techdo 14 Test Code
シナリオ設定例
Mar 08, 2019 | @ariaki4dev | #techdo 15 Test Code
テスト実行設定 設定項目 解説 nothingFor(10 seconds) 10秒間何もしない atOnceUsers(10) 10クライアントから同時に1回接続 rampUsers(10) over (5 seconds) 5秒かけて10クライアントまで線形に増加 constantUsersPerSec(10) during (5 seconds) 5秒間、1秒あたり10クライアントが接続 rampUsersPerSec(10) to 20 during (5 minutes) 5分間かけて、1秒あたり10→20クライアントに増加 heavisideUsers(100) over(5 minutes) ヘヴィサイドの段階関数を元にクライアント数を増加 https://gatling.io/docs/3.0/general/simulation_setup/
Mar 08, 2019 | @ariaki4dev | #techdo 16 Conclude •
Scala DSLでシナリオを柔軟に作成できる ◦ コード書くの楽しい ◦ ソース管理しやすい(コードなので) ◦ 複雑なシナリオ作成もでき、GUIより辛くない • Enterpriseレベルサポートがある • JMeterと比べて機能が少なく残念な部分もある
Build Something Amazing written by ariaki4dev