Files
next.orly.dev/cmd/benchmark/docker-compose.profile.yml

66 lines
1.7 KiB
YAML

version: "3.8"
services:
# Next.orly.dev relay with profiling enabled
next-orly:
build:
context: ../..
dockerfile: cmd/benchmark/Dockerfile.next-orly
container_name: benchmark-next-orly-profile
environment:
- ORLY_DATA_DIR=/data
- ORLY_LISTEN=0.0.0.0
- ORLY_PORT=8080
- ORLY_LOG_LEVEL=info
- ORLY_PPROF=cpu
- ORLY_PPROF_HTTP=true
- ORLY_PPROF_PATH=/profiles
- ORLY_DB_BLOCK_CACHE_MB=512
- ORLY_DB_INDEX_CACHE_MB=256
volumes:
- ./data/next-orly:/data
- ./profiles:/profiles
ports:
- "8001:8080"
- "6060:6060" # pprof HTTP endpoint
networks:
- benchmark-net
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
interval: 10s
timeout: 5s
retries: 5
start_period: 60s # Longer startup period
# Benchmark runner - only test next-orly
benchmark-runner:
build:
context: ../..
dockerfile: cmd/benchmark/Dockerfile.benchmark
container_name: benchmark-runner-profile
depends_on:
next-orly:
condition: service_healthy
environment:
- BENCHMARK_TARGETS=next-orly:8080
- BENCHMARK_EVENTS=50000
- BENCHMARK_WORKERS=24
- BENCHMARK_DURATION=60s
volumes:
- ./reports:/reports
networks:
- benchmark-net
command: >
sh -c "
echo 'Waiting for ORLY to be ready (healthcheck)...' &&
sleep 5 &&
echo 'Starting benchmark tests...' &&
/app/benchmark-runner --output-dir=/reports &&
echo 'Benchmark complete - triggering shutdown...' &&
exit 0
"
networks:
benchmark-net:
driver: bridge