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
10k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Grafana k6ではじめる負荷テスト
「【OSUG*OJEC合同開催】OutSystems Users Meetup in Fukuoka」の発表資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
June 09, 2025
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
1
290
No More Log Digging 〜AIを一次調査係にする アラートレビュー改善〜
lycorptech_jp
PRO
0
110
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
1
450
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
3
1.2k
AIと1000本ノックしてたどり着いた、最速のプロダクト開発 ~toC向けAIエージェントUXを、動く選択肢とAIキャパシティで設計する~
lycorptech_jp
PRO
1
180
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
300
AIDLC_ヤフーショッピングの取り組み
lycorptech_jp
PRO
2
790
Business ID Integration at LY Corporation : Phased Migration for a B2B authentication platform with Tens of Millions of Users
lycorptech_jp
PRO
0
74
LINE Messaging: From Active-Standby to Active-Active Multi-DC Architecture
lycorptech_jp
PRO
0
110
Other Decks in Technology
See All in Technology
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
140
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
400
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
620
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
120
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
830
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
660
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
820
MIRU 2026 チュートリアル
keisuke198619
0
960
ラジオの科学
frievea
0
330
事業価値と Engineering 2026年度版
recruitengineers
PRO
50
24k
Flutterをカメラで動かしたかった話
sony
1
150
AIのためのEthernet技術動向 (SerDes)
markunet
1
120
Featured
See All Featured
Everyday Curiosity
cassininazir
0
280
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
For a Future-Friendly Web
brad_frost
183
10k
What's in a price? How to price your products and services
michaelherold
247
13k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
670
Designing Powerful Visuals for Engaging Learning
tmiket
1
490
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
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