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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
NearMeの技術発表資料です
PRO
December 16, 2022
Programming
230
0
Share
初めての負荷テスト with Locust (ハンズオン)
NearMeの技術発表資料です
PRO
December 16, 2022
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
0
28
SQL/ID抽出タスクから考える 実践的なハルシネーション対策
nearme_tech
PRO
0
45
OpenCode & Local LLM
nearme_tech
PRO
0
43
OpenCode Introduction
nearme_tech
PRO
0
40
【Browser Automation × AI】 Stagehandを試してみよう
nearme_tech
PRO
0
110
AIを用いた PID制御で部屋 の温度制御をしてみた
nearme_tech
PRO
0
110
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
3
460
Tile38 Overview
nearme_tech
PRO
0
90
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
1
1.7k
Other Decks in Programming
See All in Programming
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
940
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
120
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
250
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
6
1.1k
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
330
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
310
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
2.1k
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
140
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
5
640
Swiftのレキシカルスコープ管理
kntkymt
0
190
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
110
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
Typedesign – Prime Four
hannesfritz
42
3k
Marketing to machines
jonoalderson
1
5.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
30 Presentation Tips
portentint
PRO
1
300
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Technical Leadership for Architectural Decision Making
baasie
3
380
sira's awesome portfolio website redesign presentation
elsirapls
0
250
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Accessibility Awareness
sabderemane
1
120
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