Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gatling砲をぶっ放せ / Let Measure Performance with Ga...
Search
Akira Morikawa
March 08, 2019
Technology
1k
0
Share
Gatling砲をぶっ放せ / Let Measure Performance with Gatling
TECH DO #13
https://techdo.connpass.com/event/122193/
Akira Morikawa
March 08, 2019
More Decks by Akira Morikawa
See All by Akira Morikawa
コロナ禍だからこそ考えるオフラインコミュニティの意義 / significance of community
ariaki
0
2.2k
アウトプットの始め方/start output 20230121
ariaki
0
360
web-secure-phpcon2020
ariaki
3
3.7k
オブジェクトライフサイクルとメモリ管理を学ぼう / OOC 2020
ariaki
8
4.1k
エンジニアはアウトプットによって成長できるのか? / Grow with your output
ariaki
24
6.7k
アウトプットを始めよう / How to begin output jawsug-bgnr
ariaki
2
4k
参加者の安全を守れていますか? / Protecting community safety
ariaki
1
7.6k
タピオカに学ぶ二段階認証 / tapioca-mfa
ariaki
5
1.4k
古に学ぶ個人開発のススメ / My recommendation of personal development
ariaki
1
1.6k
Other Decks in Technology
See All in Technology
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
700
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
340
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.2k
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
720
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
120
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
380
はじめてのDatadog
kairim0
0
270
Sony_KMP_Journey_KotlinConf2026
sony
2
210
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
50k
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
170
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
190
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Exploring anti-patterns in Rails
aemeredith
3
390
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How GitHub (no longer) Works
holman
316
150k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Making Projects Easy
brettharned
120
6.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
830
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
380
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
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