Configuring target burst capacity

Target burst capacity is a global and per-revision integer setting that determines the size of traffic burst a Knative application can handle without buffering.

If a traffic burst is too large for the application to handle, the Activator service will be placed in the request path to protect the revision and optimize request load balancing.

The Activator service is responsible for receiving and buffering requests for inactive revisions, or for revisions where a traffic burst is larger than the limits of what can be handled without buffering for that revision.

Target burst capacity can be configured using a combination of the following parameters:

  • Setting the targeted concurrency limits for the revision. For more information, see the documentation on concurrency.
  • Setting the target utilization parameters. For more information, see the documentation on target utilization.
  • Setting the target burst capacity per revision.

Setting the target burst capacity per revision

  • Global key: No global key.
  • Per-revision annotation key: autoscaling.knative.dev/targetBurstCapacity
  • Possible values: float
  • Default: 70

Note: If the activator is in the routing path, it will fully load all replicas up to containerConcurrency. It currently applies target utilization only on revision level.

Example:

  1. apiVersion: serving.knative.dev/v1
  2. kind: Service
  3. metadata:
  4. annotations:
  5. name: s3
  6. namespace: default
  7. spec:
  8. template:
  9. metadata:
  10. annotations:
  11. autoscaling.knative.dev/minScale: "2"
  12. autoscaling.knative.dev/targetBurstCapacity: "70"