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

Failure test with Pumba

Failure test with Pumba

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とかを入れておく必要有