test(bench): add automated benchmark scripts and document baseline metrics
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Script mestre de execução e consolidação de benchmarks de performance do CyberCore Signer
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
JAVA_BIN="${JAVA_HOME:-/home/claudecio/.jdks/jdk-25.0.4.1+1}/bin/java"
|
||||
JAVAC_BIN="${JAVA_HOME:-/home/claudecio/.jdks/jdk-25.0.4.1+1}/bin/javac"
|
||||
JAR_FILE="modules/cybercore-app/target/cybercore-signer.jar"
|
||||
|
||||
echo "======================================================================="
|
||||
echo " CYBERCORE SIGNER — SUÍTE DE MEDIÇÃO DE PERFORMANCE"
|
||||
echo "======================================================================="
|
||||
echo "Ambiente: $(uname -s) $(uname -m)"
|
||||
echo "Java: $("$JAVA_BIN" -version 2>&1 | head -n 1)"
|
||||
echo
|
||||
|
||||
# 1. Medições de Tempo de Inicialização e RSS (Média de 3 execuções)
|
||||
echo "-----------------------------------------------------------------------"
|
||||
echo "[1/2] Medindo Tempo de Inicialização do Servidor CCSP e Memória RSS..."
|
||||
echo "-----------------------------------------------------------------------"
|
||||
|
||||
STARTUP_SUM=0
|
||||
RSS_SUM=0
|
||||
RUNS=3
|
||||
|
||||
for i in $(seq 1 $RUNS); do
|
||||
echo -n " -> Execução $i de $RUNS: "
|
||||
OUT=$(./scripts/bench/bench_startup_rss.sh)
|
||||
S_MS=$(echo "$OUT" | grep "STARTUP_MS=" | cut -d'=' -f2)
|
||||
R_MB=$(echo "$OUT" | grep "RSS_MB=" | cut -d'=' -f2)
|
||||
echo "Startup = ${S_MS} ms | RSS = ${R_MB} MB"
|
||||
STARTUP_SUM=$((STARTUP_SUM + S_MS))
|
||||
RSS_SUM=$(awk "BEGIN {print $RSS_SUM + $R_MB}")
|
||||
sleep 1
|
||||
done
|
||||
|
||||
AVG_STARTUP=$((STARTUP_SUM / RUNS))
|
||||
AVG_RSS=$(awk "BEGIN {printf \"%.2f\", $RSS_SUM / $RUNS}")
|
||||
|
||||
echo
|
||||
echo "=> Média de Inicialização CCSP: ${AVG_STARTUP} ms"
|
||||
echo "=> Média de Memória (RSS) em Idle: ${AVG_RSS} MB"
|
||||
echo
|
||||
|
||||
# 2. Compilação e Execução do BenchmarkRunner (Certificados e PAdES)
|
||||
echo "-----------------------------------------------------------------------"
|
||||
echo "[2/2] Medindo Enumeração de Certificados e Latência PAdES..."
|
||||
echo "-----------------------------------------------------------------------"
|
||||
|
||||
mkdir -p target/bench-classes
|
||||
"$JAVAC_BIN" -cp "$JAR_FILE" -d target/bench-classes scripts/bench/BenchmarkRunner.java
|
||||
"$JAVA_BIN" -cp "target/bench-classes:$JAR_FILE" scripts.bench.BenchmarkRunner
|
||||
Reference in New Issue
Block a user