Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Failure test with Pumba

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Failure test with Pumba

Avatar for Yoshinori SHIMADA

Yoshinori SHIMADA

September 03, 2018
Tweet

Other Decks in Technology

Transcript

  1. $ whoami • Yoshinori Shimada @simd_nyan • 仕事 – Software

    Engineer@通信会社 – クラウドサービスの開発 • 好きなプログラミング言語 – 言語 • 好きなテストフレームワーク – Gherkin/Cucumber • Dockerの好きなところ – 「俺の環境では動いた」の殲滅 ポータビリティ – 日がな1日イメージサイズ最小を目指す愉しみ 軽量
  2. 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
  3. ネットワーク遅延を発生させる DB のコンテナ App のコンテナ テスト コード App2 のモック App1

    のモック App3 のコンテナ docker-compose pumba pumba netem --duration 999m delay --time 30 app3
  4. ネットワーク遅延を発生させる DB のコンテナ App のコンテナ テスト コード App2 のモック App1

    のモック App3 のコンテナ docker-compose pumba pumba netem --duration 999m delay --time 30 app3
  5. Appを落とす DB のコンテナ App のコンテナ テスト コード App2 のモック App1

    のモック App3 のコンテナ docker-compose pumba pumba pause --duration 999m 30 app1
  6. Appを落とす DB のコンテナ App のコンテナ テスト コード App2 のモック App1

    のモック App3 のコンテナ docker-compose pumba pumba pause --duration 999m 30 app1
  7. Network Emulation(netem)コマンドについて • delay – 遅延 • loss – パケロス

    • loss-state – 4-state Markov モデルのパケロス • loss-gemodel – Gilbert-Elliot loss モデルのパケロス • rate – レートリミット • 内部的にはtcを利用 – iproute2とかを入れておく必要有