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
毎晩の 負荷試験自動実行による効果
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Recruit
PRO
July 14, 2025
Technology
6
420
毎晩の 負荷試験自動実行による効果
2025/07/11-12開催のSRE NEXT 2025で発表した、村上の資料です。
Recruit
PRO
July 14, 2025
Tweet
Share
More Decks by Recruit
See All by Recruit
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
440
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
710
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
4
1.1k
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
4
430
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
5
330
『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと
recruitengineers
PRO
5
2k
経営の意思決定を加速する 「事業KPIダッシュボード」構築の全貌
recruitengineers
PRO
4
520
Browser
recruitengineers
PRO
13
4.4k
JavaScript 研修
recruitengineers
PRO
9
2.4k
Other Decks in Technology
See All in Technology
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
150
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
180
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
550
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
180
Greatest Disaster Hits in Web Performance
guaca
0
280
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
180
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
130
配列に見る bash と zsh の違い
kazzpapa3
3
160
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Designing for Performance
lara
610
70k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
86
YesSQL, Process and Tooling at Scale
rocio
174
15k
First, design no harm
axbom
PRO
2
1.1k
Visualization
eitanlees
150
17k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
毎晩 負荷試験自動実行による効果 SRE NEXT 2025
自己紹介 Ayana Murakami 2023年 入社 『ホットペッパービューティー』 バックエンド開発 2
『ホットペッパービューティー』 国内最大級 ヘアサロン・リラク &ビューティサロン 検索・予約サイト ※ 2025年6月時点 https://beauty.hotpepper.jp/doc/guide/saishindata.html 3 •
2007年 ヘアサロン 検索予約サイト として誕生 • ヘア、リラクゼーション、エステ、 ネイル、アイビューティーまで幅広く提供 • モバイルアプリ( iOS / Android ) Web(PC・スマートフォン) にて展開 • 年間 およそ1.9億予約 ※
お伝えしたいこと 負荷試験ツールを毎晩自動実行 することにより 負荷試験 準備・実施にかかる工数を削減した 事例 紹介 4
背景|今回 対象システム ご紹介 モバイルアプリ用 BFF※・Backendサーバー 合計100本以上 エンドポイントが存在 5 ※ BFF:Backend
For Frontend ref.) ホットペッパービューティーにおけるモバイルアプリ向け API BFF/Backend分割, JJUG 2019
背景|今回 対象システム ご紹介 モバイルアプリ用 BFF※・Backendサーバー 合計100本以上 エンドポイントが存在 6 ※ BFF:Backend
For Frontend ref.) ホットペッパービューティーにおけるモバイルアプリ向け API BFF/Backend分割, JJUG 2019 リリース前に負荷試験を実施し 事前に性能に問題がないことを検証したい
課題|工数が大きい負荷試験 主に作業負荷が大きかった作業 1. 負荷試験環境 準備・手動実行 2. 負荷試験シナリオ メンテナンス 7
課題 主に作業負荷が大きかった作業 1. 負荷試験環境 準備・手動実行 2. 負荷試験シナリオ メンテナンス 8
課題|負荷試験環境 準備手動実行 9 Before • 負荷試験実行 手順が多く アプリケーション ビルド待ちが発生 •
ビルド完了を待ってからEC2にsshして 負荷試験ツール Gatling でシナリオ実行
打ち手|負荷試験環境 準備・実行 自動化 10 Before After
打ち手|負荷試験環境 準備・実行 自動化 11 After • 開発者 GitHub Actions ワークフローを
実行する み • アプリケーション ビルドやデプロイから Gatling シナリオ実行まで一気通貫
課題 主に作業負荷が大きかった作業 1. 負荷試験環境 準備・手動実行 2. 負荷試験シナリオ メンテナンス 12
課題|負荷試験シナリオ メンテナンス 13 負荷試験 月に数回 み 実施 日々 機能改修にシナリオが追従できず 試験前に都度修正作業が発生
また試験がエラーになった... どの機能改修が原因だ...? • 原因機能 特定が大変 • 修正規模が大きくなりがち
打ち手|シナリオ変更が必要な状態をすぐに検知 14 リリース前 メインブランチ に対して定期的に負荷がけ
打ち手|シナリオ変更が必要な状態をすぐに検知 15 リリース前 メインブランチ に対して定期的に負荷がけ 負荷試験シナリオが正常に動かなくなった タイミングや原因が明らかな で保守がしやすい ※ 負荷試験1回あたり
所要時間がかかるためコミットフックよりも定期実行がちょうどいい
毎晩 負荷試験実行で 失敗 早期検知 と 修正範囲 最小化 GitHub Actionsによる負荷試験 一連手順
自動化 今回 課題と対応 16 1. 負荷試験環境 準備・手動実行 2. 負荷試験シナリオ メンテナンス
実際どうなった?|時間 17 負荷試験で取られる時間 約3割を削減 ※ 性能が論点になる機能改修 場合
新規機能 負荷試験シナリオ作成も楽に 実際どうなった?|開発者から 声 18 現状 シナリオが正しく動くことが保証されているため 負荷試験が必要な新規機能改修が発生しても 自分 担当分にフォーカスする
みでいい
負荷試験 シナリオ 動くも だという心理的な安心感 副次的な効果 19 試してみないと 動くかわからない 「できれ 負荷試験を避けたい」
きっと動くはず 「実施しておくか」 Before After
まとめ 20 • GitHub Actionsを用いて負荷試験手順を自動化 • 毎晩負荷試験を実行しシナリオをメンテしやすい仕組みに 負荷試験 準備・実施にかかる工数を削減