69 lines
2.0 KiB
Bash
69 lines
2.0 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
# Production-like load testing
|
||
|
|
# Tests system capacity and performance optimizations
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
|
||
|
|
RPC_URL="${RPC_URL:-http://localhost:8545}"
|
||
|
|
RESULTS_DIR="${RESULTS_DIR:-$PROJECT_ROOT/tests/load-test-results}"
|
||
|
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||
|
|
|
||
|
|
mkdir -p "$RESULTS_DIR"
|
||
|
|
|
||
|
|
echo "Production-Like Load Testing"
|
||
|
|
echo "============================="
|
||
|
|
echo "RPC URL: $RPC_URL"
|
||
|
|
echo "Results Directory: $RESULTS_DIR"
|
||
|
|
echo "Timestamp: $TIMESTAMP"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test 1: CCIP Message Throughput
|
||
|
|
echo "Test 1: CCIP Message Throughput"
|
||
|
|
echo "-------------------------------"
|
||
|
|
./load-test-ccip.sh > "$RESULTS_DIR/ccip-throughput-$TIMESTAMP.log" 2>&1
|
||
|
|
echo "✓ CCIP throughput test complete"
|
||
|
|
|
||
|
|
# Test 2: Oracle Update Frequency
|
||
|
|
echo ""
|
||
|
|
echo "Test 2: Oracle Update Frequency"
|
||
|
|
echo "-------------------------------"
|
||
|
|
./load-test-oracle.sh > "$RESULTS_DIR/oracle-frequency-$TIMESTAMP.log" 2>&1
|
||
|
|
echo "✓ Oracle frequency test complete"
|
||
|
|
|
||
|
|
# Test 3: RPC Node Capacity
|
||
|
|
echo ""
|
||
|
|
echo "Test 3: RPC Node Capacity"
|
||
|
|
echo "-------------------------"
|
||
|
|
./load-test-rpc.sh > "$RESULTS_DIR/rpc-capacity-$TIMESTAMP.log" 2>&1
|
||
|
|
echo "✓ RPC capacity test complete"
|
||
|
|
|
||
|
|
# Test 4: Concurrent Operations
|
||
|
|
echo ""
|
||
|
|
echo "Test 4: Concurrent Operations"
|
||
|
|
echo "-----------------------------"
|
||
|
|
# Run all tests concurrently
|
||
|
|
./load-test-ccip.sh > "$RESULTS_DIR/concurrent-ccip-$TIMESTAMP.log" 2>&1 &
|
||
|
|
./load-test-oracle.sh > "$RESULTS_DIR/concurrent-oracle-$TIMESTAMP.log" 2>&1 &
|
||
|
|
./load-test-rpc.sh > "$RESULTS_DIR/concurrent-rpc-$TIMESTAMP.log" 2>&1 &
|
||
|
|
wait
|
||
|
|
echo "✓ Concurrent operations test complete"
|
||
|
|
|
||
|
|
# Generate summary
|
||
|
|
echo ""
|
||
|
|
echo "Load Testing Summary"
|
||
|
|
echo "===================="
|
||
|
|
echo "Results saved to: $RESULTS_DIR"
|
||
|
|
echo ""
|
||
|
|
echo "Review results and validate:"
|
||
|
|
echo "1. CCIP message throughput meets requirements"
|
||
|
|
echo "2. Oracle update frequency is acceptable"
|
||
|
|
echo "3. RPC node capacity is sufficient"
|
||
|
|
echo "4. System handles concurrent operations"
|
||
|
|
echo ""
|
||
|
|
echo "If any test fails, review logs and optimize configuration."
|
||
|
|
|