Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
870
Failure test with Pumba
Yoshinori SHIMADA
September 03, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
320
regrowth_tokyo_2025_securityagent
hiashisan
0
180
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
130
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
2.3k
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
1k
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
370
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1k
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
330
学習データって増やせばいいんですか?
ftakahashi
1
260
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
140
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
430
安いGPUレンタルサービスについて
aratako
2
2.6k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Docker and Python
trallard
47
3.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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とかを入れておく必要有