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
Grafana k6ではじめる負荷テスト
Search
LINEヤフーTech (LY Corporation Tech)
PRO
June 09, 2025
Technology
0
97
Grafana k6ではじめる負荷テスト
「【OSUG*OJEC合同開催】OutSystems Users Meetup in Fukuoka」の発表資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
June 09, 2025
Tweet
Share
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
AIとともに歩んでいくデザイナーの役割の変化
lycorptech_jp
PRO
0
500
ソフトウェアエンジニアの生成AI活用と、これから
lycorptech_jp
PRO
0
510
AdKDD2025 Keynote から見る広告ランキングシステムのトレンド
lycorptech_jp
PRO
0
39
Click A, Buy B: Rethinking Conversion Attribution in ECommerce Recommendations
lycorptech_jp
PRO
0
100
Java 25 Overview 並行処理とGC周りの新機能
lycorptech_jp
PRO
0
43
Rust In Python
lycorptech_jp
PRO
9
380
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
2
360
How to quickly drive the track to Android Auto
lycorptech_jp
PRO
1
32
Yahoo!ショッピングにおけるQAエンジニア
lycorptech_jp
PRO
0
310
Other Decks in Technology
See All in Technology
なぜAWSを活かしきれないのか?技術と組織への処方箋
nrinetcom
PRO
5
980
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
350
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
1.8k
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
250
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
440
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
110
サイバーエージェント流クラウドコスト削減施策「みんなで金塊堀太郎」
kurochan
4
2.1k
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
210
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
5k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.1k
ソースを読むプロセスの例
sat
PRO
15
9.3k
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Balancing Empowerment & Direction
lara
5
690
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
The Language of Interfaces
destraynor
162
25k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Agile that works and the tools we love
rasmusluckow
331
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
© LY Corporation LINEヤフー株式会社 コーポレートIT統括本部 桶谷 直樹 Grafana k6ではじめる 負荷テスト
2025-06-05 【OSUG*OJEC合同開催】OutSystems Users Meetup in Fukuoka
© LY Corporation 桶谷 直樹 Oketani Naoki LINEヤフー株式会社 CIO管掌 コーポレートIT統括本部(中略)Low-code
Platformチーム 2 2011 ヤフー株式会社 新卒入社 2020 セキュリティ x Kubernetes 業務やコミュニティ活動 2022 現所属に異動 OSUG・OJECで複数回の登壇 © LY Corporation
© LY Corporation Point 2 導入の容易さ Point 1 目的・効果 Point
3 継続的な実施 3 Grafana k6ではじめる負荷テスト 本セッションの内容
© LY Corporation OutSystems 11 CloudまたはODCで負荷テストを実行するには、 テストごとに開始日の5営業日以上前にOutSystemsによる認可をリクエストする必要があります。 サポートケースを開き、以下の情報を提供する必要があります。 1. 連絡先情報
2. スキャン用のIPアドレス(ソース) 3. 環境 4. テストの日時とタイムゾーン 4 注意事項 https://success.outsystems.com/ja-jp/support/security/load_and_penetration_tests_on_outsystems_cloud/
© LY Corporation 会社概要 負荷テスト導入の背景・目的 負荷テストの実施 ~ インフラ編 ~ 負荷テストの実施
~ アプリ編 ~ まとめ 1 3 2 4 5 5 Grafana k6ではじめる負荷テスト Agenda
© LY Corporation 会社概要 負荷テスト導入の背景・目的 負荷テストの実施 ~ インフラ編 ~ 負荷テストの実施
~ アプリ編 ~ まとめ 1 3 2 4 5 6 Grafana k6ではじめる負荷テスト Agenda
ミッション 「WOW」な ライフプラットフォームを創り、 日常に「!」を届ける。 めざめてから、眠りにつくその瞬間まで。 さらには非日常のひとときや、いざという非常時も。 進んでゆくあなたの毎日に、驚きと感動を提供しつづけます。 7
ユーザー数1 業績2 サービス提供国・地域3 従業員数4 グループ会社数5 1. Yahoo! JAPAN月間ログインユーザーID数、LINE月間アクティブユーザー数(MAU)、PayPay登録ユーザー数、ZOZOTOWN事業 年間購入者数(Yahoo!ショッピング含まず)の合算(全て2024年3月末時点) 2.
2024年3月期 数字で見るLINEヤフー グループ延べ利用者数 3.2億超 Yahoo! JAPAN 5,558万 月間ログインユーザーID数 LINE 1.95億 月間アクティブユーザー数 売上収益 1兆 8,146億円 調整後EBITDA 4,149億円 連結 約 28,000人 単独 11,000人以上 115社 3. 2023年8月時点 4. 2024年3月時点 5. グループ会社数 2024年3月時点 約 230ヶ国・地域 8
© LY Corporation OutSystems 11 プライベートクラウド 9 OutSystems利用状況 従業員向け社内システム 100+
開発期間:1-3ヶ月 中小規模のアプリが大半 LINEヤフー LINEヤフーコミュニケーションズ 共同利用
© LY Corporation 会社概要 負荷テスト導入の背景・目的 負荷テストの実施 ~ インフラ編 ~ 負荷テストの実施
~ アプリ編 ~ まとめ 1 3 2 4 5 10 Grafana k6ではじめる負荷テスト Agenda
© LY Corporation 11 (360°評価) 多面評価システム導入を計画 対象者 評価 評価 評価
上司 部下 同僚 業務で関わりのある社員
© LY Corporation FY24H1 LINEヤフーコミュニケーションズ(従業員数 1,650名)に導入した 12 多面評価システム導入 FY25H1 LINEヤフー(従業員数
11,000人以上)に展開する
© LY Corporation OutSystemsで、想定負荷を処理できるのか 13 負荷テストを意思決定に活用 代替案の検討は必要か どこにボトルネックがあるのか
© LY Corporation 会社概要 負荷テスト導入の背景・目的 負荷テストの実施 ~ インフラ編 ~ 負荷テストの実施
~ アプリ編 ~ まとめ 1 3 2 4 5 14 Grafana k6ではじめる負荷テスト Agenda
© LY Corporation • サーバに負荷をかける前に、クライアントが悲鳴をあげないこと • インフラの負荷テストを容易に実施できること • アプリケーションの負荷テストを容易に実施できること •
E2Eテスト相当のシナリオを記述できること(現在はE2Eテストを書いていないが、将来を見越して) • Playwrightと親和性が高いこと 15 負荷テストツールの選定 Grafana k6を採用
© LY Corporation 16 OutSystems 11 on プライベートクラウド システム構成 Load
Balancer Reverse Proxy*2 OutSystems*2 単純なREST APIを作成
© LY Corporation 17 OutSystems 11 on プライベートクラウド 負荷テストの実施 Load
Balancer Reverse Proxy*2 OutSystems*2 単純なREST APIを作成 Grafana k6
© LY Corporation 18 サンプルコード 1並列で30秒間、負荷をかける
© LY Corporation --vus 並列数 • 1 • 10 •
100 • 1,000 • 10,000 --duration 持続時間 • 10s • 30s 19 実行オプション
© LY Corporation 20 負荷テストの実施結果 Load Balancer Reverse Proxy*2 OutSystems*2
現時点の構成で、200-300rpsは処理できる 構成変更により、1,000rps程度まで改善できそう
© LY Corporation OutSystemsで、想定負荷を処理できるのか 21 多面評価システムの開発をOutSystemsで進める 負荷テストを意思決定に活用 代替案の検討は必要か どこにボトルネックがあるのか Reverse
Proxy 不要 インフラ観点では可能
© LY Corporation 会社概要 負荷テスト導入の背景・目的 負荷テストの実施 ~ インフラ編 ~ 負荷テストの実施
~ アプリ編 ~ まとめ 1 3 2 4 5 22 Grafana k6ではじめる負荷テスト Agenda
© LY Corporation 評価者を選定する 23 負荷テスト対象とする機能の例 社員名・部署名 社員名 部署名 user001
A部 Bチーム user002 A部 Cチーム 保存
© LY Corporation 24 ブラウザの開発ツールを利用して リクエストを再現した
© LY Corporation 25 後続処理で使用する
© LY Corporation 26 該当のAction/Aggregateを 修正するたびに変わる 必須項目を特定するには アプリの実装を調べる
© LY Corporation 27 --vus 100 --duration 60 実行オプション リクエスト
Sleep 1s 100並列 60s
© LY Corporation 28 負荷テストの実施結果 社員名・部署名 社員名 部署名 user001 A部
Bチーム user002 A部 Cチーム 保存 中央値: 2s 90%ile: 30s
© LY Corporation OutSystemsで、想定負荷を処理できるのか 29 多面評価システムの開発をOutSystemsで進める 負荷テストを意思決定に活用 代替案の検討は必要か どこにボトルネックがあるのか •
一部のロジック • Reverse Proxy 不要 社員検索は要改善
© LY Corporation 会社概要 負荷テスト導入の背景・目的 負荷テストの実施 ~ インフラ編 ~ 負荷テストの実施
~ アプリ編 ~ まとめ 1 3 2 4 5 30 Grafana k6ではじめる負荷テスト Agenda
© LY Corporation 導入の容易さ インフラは容易 アプリは手間 目的・効果 数値ベースの 意思決定 継続的な実施
課題あり 31 Grafana k6ではじめる負荷テスト まとめ
© LY Corporation • サーバ増強時 • DBのインデックス作成・削除時 場面 32 Grafana
k6ではじめる負荷テスト 継続的な実施に向けて • PlaywrightでE2Eテスト → Grafana k6のテストシナリオに変換する • テスト対象をREST APIにする 解決アプローチ 課題 • Screenに依存するテストは壊れやすく、再利用性が低い
© LY Corporation References Grafana k6 ‒ https://grafana.com/docs/k6/latest/ Playwright ‒
https://playwright.dev/ 負荷試験を Playwright と k6 で刷新した話 ‒ https://zenn.dev/atamaplus/articles/ce227abc2b17dd OutSystems Cloudでの負荷テストとペネトレーションテスト ‒ https://success.outsystems.com/ja-jp/support/security/load_and_penetration_tests_on_outsystems_cloud/
© LY Corporation