81 lines
2.0 KiB
Bash
Executable File
81 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Run benchmark for ORLY only (no other relays)
|
|
|
|
set -e
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
# Determine docker-compose command
|
|
if docker compose version &> /dev/null 2>&1; then
|
|
DOCKER_COMPOSE="docker compose"
|
|
else
|
|
DOCKER_COMPOSE="docker-compose"
|
|
fi
|
|
|
|
# Clean old data directories (may be owned by root from Docker)
|
|
if [ -d "data" ]; then
|
|
echo "Cleaning old data directories..."
|
|
if ! rm -rf data/ 2>/dev/null; then
|
|
echo ""
|
|
echo "ERROR: Cannot remove data directories due to permission issues."
|
|
echo "Please run: sudo rm -rf data/"
|
|
echo "Then run this script again."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Create fresh data directories with correct permissions
|
|
echo "Preparing data directories..."
|
|
mkdir -p data/next-orly
|
|
chmod 777 data/next-orly
|
|
|
|
echo "Building ORLY container..."
|
|
$DOCKER_COMPOSE build next-orly
|
|
|
|
echo "Starting ORLY relay..."
|
|
echo ""
|
|
|
|
# Start only next-orly and benchmark-runner
|
|
$DOCKER_COMPOSE up next-orly -d
|
|
|
|
# Wait for ORLY to be healthy
|
|
echo "Waiting for ORLY to be healthy..."
|
|
for i in {1..30}; do
|
|
if curl -sf http://localhost:8001/ > /dev/null 2>&1; then
|
|
echo "ORLY is ready!"
|
|
break
|
|
fi
|
|
sleep 2
|
|
if [ $i -eq 30 ]; then
|
|
echo "ERROR: ORLY failed to become healthy"
|
|
$DOCKER_COMPOSE logs next-orly
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# Run benchmark against ORLY
|
|
echo ""
|
|
echo "Running benchmark against ORLY..."
|
|
echo "Target: http://localhost:8001"
|
|
echo ""
|
|
|
|
# Run the benchmark binary directly against the running ORLY instance
|
|
docker run --rm --network benchmark_benchmark-net \
|
|
-e BENCHMARK_TARGETS=next-orly:8080 \
|
|
-e BENCHMARK_EVENTS=10000 \
|
|
-e BENCHMARK_WORKERS=24 \
|
|
-e BENCHMARK_DURATION=20s \
|
|
-v "$(pwd)/reports:/reports" \
|
|
benchmark-benchmark-runner \
|
|
/app/benchmark-runner --output-dir=/reports
|
|
|
|
echo ""
|
|
echo "Benchmark complete!"
|
|
echo "Stopping ORLY..."
|
|
$DOCKER_COMPOSE down
|
|
|
|
echo ""
|
|
echo "Results saved to ./reports/"
|
|
echo "Check the latest run_* directory for detailed results."
|