Pumba vs Toxiproxy
Pumba
github.comToxiproxy
github.comSide by side
| Figure | Pumba | Toxiproxy |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Chaos Engineering Platforms | 7.3 (#18) | 8.2 (#8) |
| Deployment | The project documents Docker, Kubernetes DaemonSets, and OpenShift deployment options. | The project provides Linux packages and binaries, macOS installation through Homebrew or MacPorts, a Windows download, a GitHub Container Registry image, and a source build option. |
| Purpose | Pumba is a chaos testing and network emulation tool for Docker, containerd, and Podman containers. | Toxiproxy is a TCP proxy for simulating network and system conditions in chaos and resiliency testing. |
Plans
In their own words
Pumba
Pumba is a free, open-source chaos testing and network emulation tool for Docker, containerd, and Podman containers. It can kill, stop, pause, remove, and restart containers, while network experiments can add delay, packet loss, duplication, corruption, or rate limits through netem or iptables. Its stress command exercises CPU, memory, and I/O with stress-ng. Targets can be chosen by container name, regular expression, label, or random selection, and experiments can recur at fixed intervals. Pumba documents deployment with Docker, Kubernetes DaemonSets, and OpenShift, and supports Kubernetes workflows. Released binaries and a GitHub Container Registry image are available; the Docker Hub image is marked deprecated. Linux is the primary platform. macOS binaries drive a remote Linux container VM, while Windows is not supported or planned. Pumba runs self-hosted under the Apache License 2.0 and requires privileged access to container runtimes, so its guidance calls for controlled environments and restricted socket access. Security fixes apply only to the latest released minor version. Community support is directed to GitHub Issues and the project blog.
Toxiproxy
Toxiproxy is a free, open-source TCP proxy for testing how software responds to network and system problems in development, testing, and CI. Applications route test connections through it, then users change connection behavior through an HTTP API or command-line interface. Built-in toxics can add latency or jitter, restrict bandwidth, delay socket closure, time out or reset connections, slice TCP data, limit transmitted data, or drop packets. Settings support deterministic connection changes as well as randomized chaos. The API manages proxies and toxics, resets proxies, and returns version information and Prometheus-compatible metrics. It listens on port 8474; configuring a proxy with listen port 0 assigns an ephemeral port. Client libraries are listed for Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust, and Elixir. Installation options include Linux packages and binaries, Homebrew and MacPorts, a Windows download, a container image, and building from source with Go. The project identifies its license as MIT. Its HTTP API is unauthenticated by default, though bearer-token authentication is supported.