Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
k6で負荷試験をやってみた話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
山田哲也
October 20, 2023
990
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
k6で負荷試験をやってみた話
山田哲也
October 20, 2023
More Decks by 山田哲也
See All by 山田哲也
メール配信基盤をAmazon SESに移行した話
techi
1
880
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Optimising Largest Contentful Paint
csswizardry
37
4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
The SEO identity crisis: Don't let AI make you average
varn
0
590
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Producing Creativity
orderedlist
PRO
348
41k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Transcript
k6で負荷試験をやってみた話 株式会社リーディングマーク 山田 哲也
山田哲也 株式会社リーディングマーク所属 SREエンジニア、技術広報 X(旧Twitter):@techi_dev
None
k6とは
k6とは オープンソースの負荷試験ツールで 開発元は可視化ツールで有名なGrafana Labs 使い方はJavascriptでテストコードを書いてCLIで実行 k6 の単一インスタンスで 30,000 ~ 40,000
人の仮想的な 同時ユーザー処理をテストできる(らしい)
サービス k6 JMeter 特徴 コードベース (JavaScriptで記述) 2017年リリース Go製(Github★数: 21.8k) HTTP/HTTPS/WebSocket/gRPCをサポート
Grafana, Prometheusなどとの統合が簡単 GUIベース (CLIも利用可能) 2001年リリース Java製(Github★数: 7.4k) 複数のプロトコルをサポート プラグイン、サードパーティのツールとの 統合が充実 利点 コードベースなのでGitやCICDが活用できる クラウドサービスとの連携が簡単(特に Grafana Cloud) プラグインによる機能拡張でRDBMSなどの テストも可能 GUIによるシナリオ作成 事例が豊富 グラフィカルなレポート作成 プラグインによる機能拡張 k6とJMeterの比較
サービス k6 JMeter 特徴 コードベース (JavaScriptで記述) 2017年リリース Go製(Github★数: 21.8k) HTTP/HTTPS/WebSocket/gRPCをサポート
Grafana, Prometheusなどとの統合が簡単 GUIベース (CLIも利用可能) 2001年リリース Java製(Github★数: 7.4k) 複数のプロトコルをサポート プラグイン、サードパーティのツールとの 統合が充実 利点 コードベースなのでGitやCICDが活用できる クラウドサービスとの連携が簡単(特に Grafana Cloud) プラグインによる機能拡張でRDBMSなどの テストも可能 GUIによるシナリオ作成 事例が豊富 グラフィカルなレポート作成 プラグインによる機能拡張 k6とJMeterの比較 使ってみた感想 GUIよりコードの方がシナリオの内容を把握しやすい k6の方がレスポンスの値を使いまわしやすい
使ってみる
テスト内容 「test.k6.ioにアクセスして1秒待機」を 10ユーザーが30秒間に可能な限り実行 script.jsとして保存 k6 run script.jsを実行 vus: 仮想ユーザー数 duration:
実行時間 k6を使ってみる
None
メトリクス
メトリクス 説明 vus 現在のアクティブな仮想ユーザーの数 iterations VU が JS スクリプトを実行する合計回数 http_reqs
k6 が生成した HTTP リクエストの合計数 http_req_duration リクエストの合計時間 http_req_blocked リクエストを開始するまでにブロックされた時間 (空き TCP 接続スロットを待機してい る時間) http_req_waiting リモート ホストからの応答を待機するのに費やした時間 (「最初のバイトまでの時間」 または「TTFB」とも呼ばれます) k6で確認できるメトリクス(一部)
段階的なユーザー数の調整 ヘッダーやボディの指定 条件式を評価してリザルトに表示
Grafana Cloudとの統合
None
Grafana Cloudと連携すると テストコードの作成を補助するツールの利用や テスト結果の可視化ができるようになる(freeプランあり)
None
None
ブラウザの操作を記録して テストコードを自動生成してくれるツール ※Grafana Cloudの登録が必須
Thank You