khone/koʊ.neɪ/
Experimental

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, and SAM_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=512

Outputs used by benchmark tooling

  • BenchmarkTargetsJson: preferred explicit list of benchmark endpoints.
  • BenchmarkEndpointsCsv: optional endpoint name list.
  • SteadyUrl, AdaptiveUrl, TargetAwareUrl, and StandardUrl: 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:

  • SteadyBilledDurationMs
  • AdaptiveBilledDurationMs
  • TargetAwareBilledDurationMs
  • STDBilledDurationMs

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/.