optimizing badger cache, won a 10-15% improvement in most benchmarks
This commit is contained in:
80
cmd/benchmark/run-benchmark-orly-only.sh
Executable file
80
cmd/benchmark/run-benchmark-orly-only.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/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=50000 \
|
||||
-e BENCHMARK_WORKERS=24 \
|
||||
-e BENCHMARK_DURATION=60s \
|
||||
-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."
|
||||
Reference in New Issue
Block a user