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
Failure test with Pumba
Search
Yoshinori SHIMADA
September 03, 2018
Technology
0
860
Failure test with Pumba
Yoshinori SHIMADA
September 03, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
MobileActOsaka_250704.pdf
akaitadaaki
0
110
一体いつからSRE NEXTがSREだけのカンファレンスだと錯覚していた? / When did you ever get the idea that SRE NEXT was a conference just for SREs?
vtryo
1
140
ビギナーであり続ける/beginning
ikuodanaka
3
690
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
2
7.6k
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
330
Geminiとv0による高速プロトタイピング
shinya337
0
230
AI導入の理想と現実~コストと浸透〜
oprstchn
0
180
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.3k
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
120
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
5
680
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
13k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Making the Leap to Tech Lead
cromwellryan
134
9.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Being A Developer After 40
akosma
90
590k
Producing Creativity
orderedlist
PRO
346
40k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
How GitHub (no longer) Works
holman
314
140k
It's Worth the Effort
3n
185
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
950
RailsConf 2023
tenderlove
30
1.1k
Transcript
Pumbaを使った異常系試験 @simd_nyan
$ whoami • Yoshinori Shimada @simd_nyan • 仕事 – Software
Engineer@通信会社 – クラウドサービスの開発 • 好きなプログラミング言語 – 言語 • 好きなテストフレームワーク – Gherkin/Cucumber • Dockerの好きなところ – 「俺の環境では動いた」の殲滅 ポータビリティ – 日がな1日イメージサイズ最小を目指す愉しみ 軽量
他部署 自分たちが 作っているシステム マイクロサービスなシステムの構成 DB App 謎システム App2 App1 App3
謎システム 謎システム 謎システム 謎システム
結合テスト環境のコンテナ化 DB のコンテナ App のコンテナ テスト コード App2 のモック App1
のモック App3 のコンテナ docker-compose
docker-compose 結合テストでの異常系試験の想定 DB のコンテナ App のコンテナ テスト コード App2 のモック
App1 のモック App3 のコンテナ 遅延が… 死んでる…
Pumba • Pumba: Chaos testing tool for Docker – https://github.com/alexei-led/pumba
• できること COMMANDS: kill kill specified containers netem emulate the properties of wide area networks pause pause all processes stop stop containers rm remove containers help, h Shows a list of commands or help for one command
ネットワーク遅延を発生させる DB のコンテナ App のコンテナ テスト コード App2 のモック App1
のモック App3 のコンテナ docker-compose pumba pumba netem --duration 999m delay --time 30 app3
ネットワーク遅延を発生させる DB のコンテナ App のコンテナ テスト コード App2 のモック App1
のモック App3 のコンテナ docker-compose pumba pumba netem --duration 999m delay --time 30 app3
Appを落とす DB のコンテナ App のコンテナ テスト コード App2 のモック App1
のモック App3 のコンテナ docker-compose pumba pumba pause --duration 999m 30 app1
Appを落とす DB のコンテナ App のコンテナ テスト コード App2 のモック App1
のモック App3 のコンテナ docker-compose pumba pumba pause --duration 999m 30 app1
Network Emulation(netem)コマンドについて • delay – 遅延 • loss – パケロス
• loss-state – 4-state Markov モデルのパケロス • loss-gemodel – Gilbert-Elliot loss モデルのパケロス • rate – レートリミット • 内部的にはtcを利用 – iproute2とかを入れておく必要有