Skip to main content

run-guardian-prod-benchmarks

Run, evaluate, and report production GUARDIAN benchmarks with the repository's distributed ECS client harness. Use when Codex needs to prepare benchmark profiles, verify prod benchmark readiness, execute ECDSA/Falcon/mixed gRPC runs against GUARDIAN, clean up benchmark-owned data, interpret throughput or latency results, or write the benchmark report from the generated artifacts.

소스 정보

저장소
OpenZeppelin/guardian
최근 소스 활동
2026년 9월 23일 12:14
감지된 SKILL.md 언어
영어
스타
10
포크
20

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
run-guardian-prod-benchmarks
description
Run, evaluate, and report production GUARDIAN benchmarks with the repository's distributed ECS client harness. Use when Codex needs to prepare benchmark profiles, verify prod benchmark readiness, execute ECDSA/Falcon/mixed gRPC runs against GUARDIAN, clean up benchmark-owned data, interpret throughput or latency results, or write the benchmark report from the generated artifacts.
# Run Guardian Prod Benchmarks Read the current source of truth at the start of every task: - `benchmarks/prod-server/README.md` - `scripts/run-prod-benchmark-ecs.sh` - `benchmarks/prod-server/profiles/*.toml` - `benchmarks/prod-server/src/config.rs` - `benchmarks/prod-server/src/cleanup.rs` - `benchmarks/prod-server/reports/20260408-prod-benchmark-report.md` If the task involves changing the live GUARDIAN deployment or verifying the active AWS shape before benchmarking, also use [`deploy-guardian-aws`](../deploy-guardian-aws/SKILL.md). Trust these sources in this order: 1. `scripts/run-prod-benchmark-ecs.sh` for the real execution and teardown flow 2. `benchmarks/prod-server/profiles/*.toml` for supported scenarios 3. `benchmarks/prod-server/src/*.rs` for benchmark behavior and cleanup semantics 4. `benchmarks/prod-server/reports/20260408-prod-benchmark-report.md` for the reporting style and reference numbers ## Scope This skill is only for the current distributed ECS benchmark path: - gRPC only - prod GUARDIAN endpoint - ECS/Fargate worker clients in `us-east-1` - benchmark-owned logical cleanup through ECS exec - ECDSA burst - ECDSA mixed `1 push_delta : 4 get_state` - Falcon mixed `1 push_delta : 4 get_state` - Falcon+ECDSA mixed `1 push_delta : 4 get_state` Do not revive or recommend: - local single-process benchmark runs - local direct-SQL cleanup - file-backed seed caches - deleted smoke or baseline profiles ## Workflow ### 1. Confirm Target Readiness Before the first benchmark in a session: 1. Verify the live endpoint and benchmark assumptions. 2. If the deployment shape matters, inspect it first with [`deploy-guardian-aws`](../deploy-guardian-aws/SKILL.md). 3. Verify public health at minimum: ```bash curl -fsS https://guardian-testnet.openzeppelin.com/ curl -fsS https://guardian-testnet.openzeppelin.com/pubkey ``` 4. If reproducing the April 2026 reference runs, confirm the deployment is still close to: - `1` ECS server task - ARM64 - `2 vCPU / 4 GB` - RDS Proxy enabled ### 2. Run Local Preflight Run the toolchain and auth checks before any benchmark run: ```bash set -a && source .env && set +a aws sts get-caller-identity docker info command -v jq command -v session-manager-plugin ``` Then run the benchmark preflight for the intended profile: ```bash cargo run --manifest-path benchmarks/prod-server/Cargo.toml -- \ preflight --profile benchmarks/prod-server/profiles/<profile>.toml ``` If preflight fails on AWS auth, refresh SSO before continuing. ### 3. Choose the Scenario Read [`references/scenario-matrix.md`](references/scenario-matrix.md) when selecting or explaining a run. Use these profiles: - `ecdsa-burst-scale.toml` - `ecdsa-mixed-burst-scale.toml` - `falcon-mixed-burst-scale.toml` - `falcon-ecdsa-mixed-burst-scale.toml` Default worker count for the reference runs is `16`. ### 4. Execute the Distributed ECS Run Use the repository script, not ad hoc ECS commands: ```bash ./scripts/run-prod-benchmark-ecs.sh \ --profile benchmarks/prod-server/profiles/<profile>.toml \ --workers 16 ``` Important rules: - Let the script build the `benchmark-runner` image unless you are intentionally reusing an existing image with `--image-uri`. - Only use `--no-cleanup` for diagnosis. If you use it, run cleanup immediately afterward. - Only use `--keep-image` or `--keep-task-definition` when you explicitly need post-run inspection. - Treat missing worker artifacts or `502` shard failures as benchmark caveats that must be reported. The script already: - builds and pushes the benchmark image - creates a temporary task definition - launches ephemeral Fargate workers - collects worker artifacts from CloudWatch logs - aggregates results locally - runs ECS-exec SQL purge - tears down temporary ECS and ECR resources on exit ### 5. Validate Run Outputs and Cleanup After aggregation, inspect the generated artifacts in `benchmarks/prod-server/reports/<run-id>/`: - `run-report.json` - `summary.md` - `cleanup-manifest.json` - `canonicalization-samples.json` (when `canonicalization.sample_rate > 0`) Confirm all of these before finishing: 1. `cleanup-manifest.json` shows `complete` 2. the report has `all`, `ecdsa`, and/or `falcon` scopes as expected 3. the run notes any missing shard artifacts 4. the public endpoint still passes `/` and `/pubkey` ### 6. Interpret the Results Read [`references/reporting.md`](references/reporting.md) before writing conclusions. Use these rules: - `push_delta/s` is the main metric - for canonicalization A/B comparisons, the accepted→canonical wait in the `canonicalization` report section is the main metric instead - mixed runs should report both `push_delta/s` and `get_state/s` - latency should always include at least `p50`, `p95`, `p99`, and `max` - if failures are mostly `state_conflict`, the account pool shape is capping admitted writes, not necessarily the server - if a run recovered from fewer than all shards, call that out explicitly - treat `500 TPS` as a sizing reference for required GUARDIAN tasks, not as a requirement that one task must absorb the entire network For comparison against the benchmark we already ran, read [`references/reference-results.md`](references/reference-results.md). ## Output Shape When asked to run or summarize benchmarks, report: - the exact profile used - the number and size of ECS worker tasks - the server shape under test - the number of users/accounts - signer distribution - throughput results - latency results - cleanup status - any shard-loss, conflict, or measurement caveats - the implied GUARDIAN task count for a `500 TPS` reference target when relevant When writing a benchmark report, follow the same structure as `benchmarks/prod-server/reports/20260408-prod-benchmark-report.md`: 1. goal 2. setup 3. reference capacity target 4. results summary 5. results table 6. latency section 7. interpretation
GitHub에서 보기