Files
sir_melonchenandClaude Opus 5.5 43bf44a8ca
bench / Benchmark (server, BIND, Kea) (push) Canceled after 1m30s
test: benchmark of server, BIND and Kea with generated data
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:33:24 +02:00

77 lines
1.9 KiB
YAML

# SPDX-License-Identifier: Apache-2.0
#
# Benchmark environment: management server with PostgreSQL 17, BIND 9.20
# with dnsperf, Kea 3.2.1 with perfdhcp. Driven by test/bench/run.sh through
# `docker compose exec` and `docker cp`, so it works with a remote or shared
# Docker daemon: no bind mounts, no published ports, no fixed subnet.
#
# TEST ONLY. Passwords and keys are throwaway values.
name: ddi-bench
services:
postgres:
image: postgres:17.11-alpine
environment:
POSTGRES_USER: ddi
POSTGRES_DB: ddi
POSTGRES_PASSWORD: bench-only
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ddi -d ddi"]
interval: 2s
timeout: 3s
retries: 30
server:
build:
context: .
dockerfile: server.Dockerfile
environment:
DDI_DATABASE_URL: postgres://ddi:bench-only@postgres:5432/ddi?sslmode=disable
DDI_HTTP_LISTEN: 127.0.0.1:8080
DDI_MASTER_KEY_FILE: /var/lib/ddi/master.key
DDI_STATE_DIR: /var/lib/ddi/state
DDI_AGENT_API_LISTEN: 0.0.0.0:8444
DDI_AGENT_API_PUBLIC_ADDRESS: server:8444
DDI_AGENT_API_SERVER_NAMES: server
DDI_LOG_LEVEL: warn
# Unreachable license server: the server runs in trial mode.
KEYGEN_URL: http://127.0.0.1:1
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8080/readyz | grep -q '\"database\":\"ok\"'"]
interval: 2s
timeout: 3s
retries: 60
bind:
build:
context: .
dockerfile: bind.Dockerfile
user: "0:0"
init: true
dnsperf:
build:
context: .
dockerfile: dnsperf.Dockerfile
init: true
kea:
build:
context: .
dockerfile: kea.Dockerfile
user: "0:0"
init: true
environment:
KEA_CONTROL_SOCKET_DIR: /run/kea
perfdhcp:
build:
context: .
dockerfile: perfdhcp.Dockerfile
user: "0:0"
init: true