mirror of
https://github.com/devkitshq/notifkit.git
synced 2026-10-19 18:24:52 +02:00
- 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
49 lines
1.1 KiB
YAML
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}"
|