Deploy the benchmark stack
The benchmark stack deploys a dedicated LMI gateway, three Mode A proxy-layer target handlers, a standard API Gateway HTTP API baseline, and a shared backend Lambda URL workload.
Prerequisites
- Bootstrap stack deployed with
make bootstrap-deploy. - Existing LMI capacity provider ARN.
- SAM CLI, Rust,
cargo-lambda, andSAM_CLI_BETA_RUST_CARGO_LAMBDA=1.
Deploy
make deploy-benchmark GATEWAY_CAPACITY_PROVIDER_ARN=arn:aws:lambda:...Override target handler memory when comparing CPU/memory effects:
make benchmark-sam-deploy \
GATEWAY_CAPACITY_PROVIDER_ARN=arn:aws:lambda:... \
BENCHMARK_HANDLER_MEMORY_SIZE=512Outputs used by benchmark tooling
BenchmarkTargetsJson: preferred explicit list of benchmark endpoints.BenchmarkEndpointsCsv: optional endpoint name list.SteadyUrl,AdaptiveUrl,TargetAwareUrl, andStandardUrl: endpoint outputs.BenchmarkBackendUrl: backend workload URL.GatewayFunctionUrl: gateway Function URL.
These outputs are consumed by the benchviz CLI.
Cost-relevant metrics
The stack publishes CloudWatch Logs metric filters for Lambda platform.report events:
SteadyBilledDurationMsAdaptiveBilledDurationMsTargetAwareBilledDurationMsSTDBilledDurationMs
Additional template parameters (EmfMetricsEnabled, ObservabilityEnabled,
BenchmarkBackendBaseDelayMs, and others) are not forwarded by make benchmark-sam-deploy, which
only passes KhoneLayerArm64Arn, GatewayCapacityProviderArn, and BenchmarkHandlerMemorySize.
To set them, run sam deploy directly from benchmark/sam/.