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
0
210
初めての負荷テスト with Locust (ハンズオン)
NearMeの技術発表資料です
PRO
December 16, 2022
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
1
26
強化学習アルゴリズムPPOの改善案を考えてみた
nearme_tech
PRO
0
6
Apple Containerについて調べて触ってみた
nearme_tech
PRO
0
91
Rust 並列強化学習
nearme_tech
PRO
0
23
並列で⽣成AIにコーディングをやらせる
nearme_tech
PRO
1
140
希望休勤務を考慮したシフト作成
nearme_tech
PRO
0
39
Hub Labeling による高速経路探索
nearme_tech
PRO
0
96
Build an AI agent with Mastra
nearme_tech
PRO
0
78
Rustで強化学習アルゴリズムを実装する vol3
nearme_tech
PRO
0
44
Other Decks in Programming
See All in Programming
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
240
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
為你自己學 Python - 冷知識篇
eddie
1
340
Swift Updates - Learn Languages 2025
koher
1
380
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
440
Jakarta EE Core Profile and Helidon - Speed, Simplicity, and AI Integration
ivargrimstad
0
310
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
100
Ruby Parser progress report 2025
yui_knk
1
270
Testing Trophyは叫ばない
toms74209200
0
470
tool ディレクティブを導入してみた感想
sgash708
1
160
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
7
1k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
Into the Great Unknown - MozCon
thekraken
40
2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Being A Developer After 40
akosma
90
590k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6.1k
Raft: Consensus for Rubyists
vanstee
140
7.1k
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