Docker load testing guide
The fastest way to test a container is to run it the way production runs it. Stresix pulls your image, runs it on a target VPS, waits for health, then points a k6 shooter at it from the same private network.
How the run starts
Stresix classifies the reference you paste. A Docker image is pulled and run on the target VPS with the health check injected. A repository is built in an isolated container first, then run the same way.
What runs where
The target app gets its own server with a private IP. The shooter gets a second server with k6. They talk over a private network, so the measurement excludes public internet round trips.
The 15 minute hard limit
Every run has a maximum window. At the end the test stops, telemetry is saved, and both servers are deleted through the tested teardown path.
# The target runs as a container on its own server.
# The shooter runs k6 on a second server on the same private network.
# Load traffic stays on the private network.
services:
app:
image: your-app:latest
ports: ["80:8080"]
healthcheck:
test: ["CMD", "wget", "-q", "-O", "-", "http://127.0.0.1:8080/health"]
interval: 3s
retries: 10Frequently asked questions
Can I test a private Docker image?
Yes. Push it to the private Stresix registry, then reference it in the test plan.
Does Stresix build repositories automatically?
Yes. A raw repository is built with Nixpacks in an isolated container with its own memory, CPU, and process limits.
What does the health check do?
The run waits for the target to answer before the shooter starts sending load, so the test measures a healthy app under pressure.
Related guides
stop guessing your specs. start knowing them.
point stresix at a target and get the number you can deploy on, in one run.
Start a load test