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
Testing Network Conditions with ToxiProxy
Search
Celso Crivelaro
March 18, 2017
Technology
1
390
Testing Network Conditions with ToxiProxy
Talk in Agile Testers Conference 2017 - SP
Celso Crivelaro
March 18, 2017
Tweet
Share
More Decks by Celso Crivelaro
See All by Celso Crivelaro
Sistemas de Recomendação
celsocrivelaro
2
230
Big Data para Gerentes de Projetos
celsocrivelaro
0
66
FileSystems em Ruby com FUSE
celsocrivelaro
2
72
Padrões e Boas Práticas de Teste de Tela
celsocrivelaro
0
430
Projeto de APIs
celsocrivelaro
0
160
Testing Network Conditions with ToxiProxy
celsocrivelaro
0
83
Actor Model in Ruby
celsocrivelaro
0
260
Separando as regras de negócios do Rails
celsocrivelaro
0
180
InfluxDB + Grafana
celsocrivelaro
0
260
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
10
20k
Databricks (と気合い)で頑張るAI Agent 運用
kameitomohiro
0
350
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
4
2k
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
3
280
Snowflake Night #2 LT
taromatsui_cccmkhd
0
310
クラウド時代における一時権限取得
krrrr38
1
150
AI Coding Agentの地殻変動 ~ ai-coding.info の定点観測 ~
kotauchisunsun
1
510
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.6k
作るべきものと向き合う - ecspresso 8年間の開発史から学ぶ技術選定 / 技術選定con findy 2026
fujiwara3
6
1.7k
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.9k
Claude Codeと駆け抜ける 情報収集と実践録
sontixyou
2
1.3k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
770
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
A better future with KSS
kneath
240
18k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Claude Code のすすめ
schroneko
67
220k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
340
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
120
Building the Perfect Custom Keyboard
takai
2
700
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Transcript
Testing network conditions with ToxiProxy Celso Crivelaro @celsocrivelaro
Tech Lead @
Professor @
Past: Monolithic Applications
Today: Distributed Systems
External API Service Server App DB API Mobile Mobile App
Web App
Share Resources Communication over TCP/IP
Network- dependent Apps
None
https://engineering.riotgames.com/news/fixing-internet-real-time-applications-part-i
None
None
None
None
Network fails
“A Distributed System is one in which the failure of
a computer you didn’t even know existed can render your own computer unusable” Leslie Lamport
None
Network Model
"Ozzy" Model?
None
200.124.124.1 200.0.124.5 200.5.34.12 200.3.5.51 200.3.5.52
200.124.124.1 200.0.124.5 200.5.34.12 200.3.5.51 200.3.5.52 200.124.124.1:80 -> 200.3.5.52:80
Networking Problems
No connection No connection between parts Latency Timeout Bandwidth Slow
Close Time to packages go and return Stop responding Bandwidth size in Mb/s Slow close connection
What are we testing?
How your app responds to network errors
User perception to network problem Business rule to the problem
Technical action to the problem
Resiliency
How to simulate?
Hard modify a staging env Hard to automate Low level
tools -> For sysadmins No APIs for Devs or QA
http://toxiproxy.io
TCP TCP APP SERVICE
TCP TCP APP SERVICE Toxies Latency Bandwidth ...
TCP TCP TCP TCP APP SERVICE 2 SERVICE 1 HTTP
API
None
How to automate
Some Solutions
Low timeout Retries Patterns - Circuit Break Fallbacks Caching strategies
Resiliency Matrix
App 1 Database API App 2 ZIP Checker External API
App 3 Unavailable Unavailable Unavailable Unavailable Degraded Available Available Not Aplic. Not Aplic. Unavailable Degraded Degraded If integration fails...
References
None
http://toxiproxy.io
https://engineering.shopify.com/17489072-building-and-testing-resilient-ruby-on-rails-applications
Thank you! @celsocrivelaro Slides in: http://crivelaro.me