Large Node Count on One Host
Generates and runs a large Docker Compose topology (default 100 dataplane nodes) for scale testing on a single machine.
examples/multi-nodes is a single-host scale test. It does not use Docker Swarm manager/worker roles. Instead, generate_compose.py rewrites docker-compose.yml with a long chain of dataplane services (node1 through nodeN).
The default generator value is NUM_NODES = 100.
Prerequisites
- One Linux machine with enough CPU, RAM, and file descriptors for many containers.
- Docker and Docker Compose.
- Python 3 for
generate_compose.py.
Deployment order
1. Set desired node count and generate compose file
From the example directory:
cd /path/to/nextmini/examples/multi-nodes
rg '^NUM_NODES' generate_compose.pyIf needed, edit NUM_NODES in generate_compose.py, then regenerate docker-compose.yml:
python generate_compose.pyVerify how many node services were generated:
rg -c '^ node[0-9]+:' docker-compose.yml2. Build and launch
docker compose build
docker compose up -dThe generated file starts postgres, then controller, then dataplane nodes in sequence (node2 depends on node1, node3 depends on node2, and so on).
Verify
Check service status:
docker compose psCheck controller and a dataplane node log:
docker compose logs --tail 100 controller
docker compose logs --tail 50 node1For high node counts, also inspect a late node (example shown for 100):
docker compose logs --tail 50 node100Optional: inspect one container directly:
docker exec -it node1 ifconfigTear down
docker compose downIf you want to fully clear unused artifacts after large runs:
docker system prune -a