Distributed performance testing platform for APIs.
500K+
Predator manages the entire lifecycle of stress-testing servers, from creating performance tests, to running these tests on a scheduled and on-demand basis, and finally viewing the test results in a highly informative and live report.
It has a simple, one-click installation, built with support for Kubernetes, DC/OS and Docker Engine, and can persist the created performance tests and their reports in 5 different databases. It also supports running distributed load out of the box. Bootstrapped with a user-friendly UI alongside a simple REST API, Predator helps developers simplify the performance testing regime.
Installation | Site | Documentation | API Reference | API Tests Examples
Distributed load: Predator supports an unlimited number of load generators that produce multiple load runners concurrently.
Real time reports: Predator aggregates all concurrent runs into a single beautiful report in real time (latency, rps, status codes and more).
Built for the cloud: Predator is built to take advantage of Kubernetes and DC/OS. It's integrated with those platforms and can manage the load generators lifecycles by itself.
One click installation: Predator can be installed with just one click in Kubernetes and DC/OS, or on any other machine running Docker.
Supports 5 Different databases: Predator provides out-of-the box functionality for persisting data in Cassandra, Postgres, MySQL, MSSQL and SQLITE.
Scheduled jobs: Predator can run recurring tests using cron expressions.
3rd partry metrics: Predator comes integrated with Prometheus and Influx. Simply configure it through the predator REST API or using the UI.
Rich UI: Predator offers a rich UI along with a powerful REST API.
Based on artillery.io: Predator uses artillery as its load engine to fire the requests. The schema for creating tests via the Predator REST API is based on the artillery schema.
Without persisted storage:
docker run -d -e JOB_PLATFORM=DOCKER -e INTERNAL_ADDRESS=http://$MACHINE_IP:80/v1 -p 80:80 --name predator -v /var/run/docker.sock:/var/run/docker.sock zooz/predator
With persisted storage:
docker run -d -e SQLITE_STORAGE=db/predator -e JOB_PLATFORM=DOCKER -e INTERNAL_ADDRESS=http://$MACHINE_IP:80/v1 -p 80:80 --name predator -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/predator:/usr/db zooz/predator
where $MACHINE_IP is the local ip address of your machine (not localhost, but actual ip address - it is your local network address).
Content type
Image
Digest
sha256:28fa3e9a4…
Size
134 MB
Last updated
over 1 year ago
Requires Docker Desktop 4.37.1 or later.