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
初めての負荷テスト with Locust (ハンズオン)
Search
NearMeの技術発表資料です
PRO
December 16, 2022
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
初めての負荷テスト with Locust (ハンズオン)
NearMeの技術発表資料です
PRO
December 16, 2022
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
21
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
1
50
初めてのLean言語
nearme_tech
PRO
0
76
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
1
21
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
59
SQL/ID抽出タスクから考える 実践的なハルシネーション対策
nearme_tech
PRO
1
67
OpenCode & Local LLM
nearme_tech
PRO
0
200
OpenCode Introduction
nearme_tech
PRO
0
59
【Browser Automation × AI】 Stagehandを試してみよう
nearme_tech
PRO
0
160
Other Decks in Programming
See All in Programming
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
190
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3k
自作OSでスライド発表する
uyuki234
1
3.9k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
550
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
850
共通化で考えるべきは、実装より公開する型だった
codeegg
0
280
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
370
数百円から始めるRuby電子工作
tarosay
0
100
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
150
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
Fireside Chat
paigeccino
42
4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
310
How STYLIGHT went responsive
nonsquared
100
6.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
360
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
57k
Scaling GitHub
holman
464
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
770
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
410
Transcript
0 初めての負荷テスト with Locust (ハンズオン) 2022-12-16 第25回NearMe技術勉強会 Kenji Hosoda
1 アジェンダ • Webサーバーのセットアップ • Locustのセットアップ • Requests Per Second(RPS)とResponse
Timeの変化の確認 • Locustの分散実行 • Webサーバーのワーカー数による変化
2 Webサーバーのセットアップ • Node.jsのインストール • Expressのインストール ◦ npm install express
• server.mjsのダウンロード ◦ https://gist.github.com/kenji4569/b74cf04ce34cb8f2ab5a1923ac4fe367 • サーバーの起動 ◦ node server.mjs • レスポンスの確認 ◦ curl http://localhost:4000 (別コンソールで)
3 Locustのセットアップ • Locustのインストール ◦ https://locust.io/ ◦ pip3 install locust
• locustfile.pyの作成 • Locustの起動 ◦ locust --host=http://localhost:4000 from locust import HttpUser, task class HelloWorldUser(HttpUser): @task def hello_world(self): self.client.get("/")
4 Requests Per Second(RPS)とResponse Timeの変化の確認 • Locustの実行 ◦ ブラウザでhttp://0.0.0.0:8089を開き”Start swarming”をクリック
• ユーザー数を100にしてみる
5 Locustの分散実行 • マスターの実行 ◦ locust --host=http://localhost:4000 --master • ワーカーの実行
◦ locust --worker --master-host=localhost (別コンソールで x2)
6 Webサーバーのワーカー数による変化 • ワーカー数とブロック時間を指定して実行 (server.mjsの中身をチェック) ◦ node server.mjs {workers} {block_time_ms}
◦ ブロック時間は重たい処理を行う時間 ▪ これがないとワーカー数によるRPSの変化が見えづらかったので • 1ワーカー 100msのブロック時間で実行 ◦ node server.mjs 1 100 ◦ → RPSは10に収束 • 2ワーカー 100msのブロック時間で実行 ◦ node server.mjs 2 100 ◦ → RPSは20に収束 • 1ワーカー 1000msのブロック時間で実行 ◦ → エラー発生
7 Thank you