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
Devour The Cloud With Locust Swarms - Hands On ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
stevenjackson
January 09, 2018
Technology
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Devour The Cloud With Locust Swarms - Hands On Load Testing
Given at CodeMash 2.0.1.8
stevenjackson
January 09, 2018
More Decks by stevenjackson
See All by stevenjackson
Death By Specification
stevenjackson
1
52
Looking for Failure
stevenjackson
0
160
Better Software Through Shared Understanding
stevenjackson
0
190
Going to Eleven
stevenjackson
0
110
A Locust Storm Is A Good Thing!
stevenjackson
0
150
Lambda Image Resizing
stevenjackson
0
90
Faliing Your Way To Success
stevenjackson
0
100
Death By Specification(cukeup)
stevenjackson
0
170
Failure Lightning Talk
stevenjackson
0
100
Other Decks in Technology
See All in Technology
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
540
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
430
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
950
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
事業価値と Engineering 2026年度版
recruitengineers
PRO
41
21k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.4k
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
770
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
130
MIRU 2026 チュートリアル
keisuke198619
0
860
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
750
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
520
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Building the Perfect Custom Keyboard
takai
2
830
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Rails Girls Zürich Keynote
gr2m
96
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Navigating Team Friction
lara
192
16k
Done Done
chrislema
186
16k
Transcript
Devour the Cloud Do you have an AWS Account?
nick @stevejxsn @nickbarendt # codemash #devour-the-cloud
[email protected]
[email protected]
Nick Barendt
Steve Jackson
None
Setup AMIs http://bit.do/devour-aws
AMIs Saleor Locust ami-da98c7a0 ami-a59bc4df You can also search for
“CM2018”
If you leave early…. Remember to stop/terminate your AWS instances!
Explore Saleor (our system under test today)
What is Load Testing?
It’s often pictured this way...
None
Load Testing simulates the experience of “many” concurrent users What
is Load Testing?
Load Testing is not about optimizing the per user experience
Most test tools are bad at Assets Javascript
None
None
None
Needing load testing is a good problem
It’s not hard…. Resource Planning Performance Regressions Architecture Changes
Ok, so what are we focusing on?
Key Question: How many users can I have on my
site before things break?
Key Question: How many users can I add before performance
becomes unacceptable?
None
None
Close Enough
None
It’s About Tradeoffs
None
Why Locust?
Simple When will this endpoint fall over?
Record/Playback Easy to get Started
Programmatic Simple -> Complex
DSL
Scales Horizontally
Scales Horizontally
None
Simple Web UI
None
User Signup http://bit.do/devour-signup
Buy! http://bit.do/devour-buy
User Funnel
None
None
None
None
100% Returning Users (20%) Find Cart Buy 80% 75%
25% 100% New Users (80%) Visit Cart Buy 97% 50%
Find
25% 100% User Funnel Visit Cart Buy 97% 50% Find
100% Find Cart Buy 80% 75% New 80% Old 20%
Weigh Tasks http://bit.do/devour-funnel
Find a Baseline
None
Identify Bottleneck
None
None
?
None
Saleor Architecture
Eliminate Bottleneck
Database Laziness Index Connection Pooling
Caching
Async
Current Architecture
Architecture with Caching
View Caching http://bit.do/devour-caching
Find new Baseline
Next Steps Choose Your Own Adventure http://bit.do/devour-advanced
Thanks! REMEMBER TO SHUT DOWN YOUR MACHINES! @stevejxsn @nickbarendt