Files
notifkit/profiling/docker-compose.yml
T
coo1estguy c72718a69d feat(profiling): add containerized load, CPU scaling, and distributed budget test suite
- Provide Docker Compose test harness with CPU and memory resource limits\n- Add single-node CPU scaling benchmark suite (0.5 to 4.0 vCPU)\n- Add distributed multi-node scaling and budget benchmarks (, , /mo)\n- Support partitioned service topologies (dedicated API, pipeline worker, and delivery worker instances)\n- Implement configurable provider latency simulation with randomized network jitter\n- Support dynamic client and worker concurrency tuning
2026-09-25 00:41:02 +05:30

49 lines
1.1 KiB
YAML

services:
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: notifkit
POSTGRES_USER: notifkit
POSTGRES_PASSWORD: password
ports:
- "35432:5432"
deploy:
resources:
limits:
cpus: "${DB_CPUS:-0.5}"
memory: "${DB_MEMORY:-512M}"
redis:
image: redis:7-alpine
ports:
- "36379:6379"
deploy:
resources:
limits:
cpus: "${REDIS_CPUS:-0.5}"
memory: "${REDIS_MEMORY:-256M}"
server:
build:
context: ..
dockerfile: profiling/Dockerfile
environment:
DATABASE_URL: postgres://notifkit:password@db:5432/notifkit
REDIS_URL: redis://redis:6379
ADMIN_API_KEY: perf-admin-key
LOG_LEVEL: warn
HOST: 0.0.0.0
WORKER_CONCURRENCY: ${WORKER_CONCURRENCY:-50}
DB_MAX_CONNECTIONS: ${DB_MAX_CONNECTIONS:-20}
PROVIDER_LATENCY_MS: ${PROVIDER_LATENCY_MS:-0}
ports:
- "35678:3000"
depends_on:
- db
- redis
deploy:
resources:
limits:
cpus: "${SERVER_CPUS:-1.0}"
memory: "${SERVER_MEMORY:-1G}"