Adaptive Concurrency

Adaptive Concurrency Control configuration overview.

config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig

[config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig proto]

Configuration parameters for the gradient controller.

{
  "sample_aggregate_percentile": "{...}",
  "concurrency_limit_params": "{...}",
  "min_rtt_calc_params": "{...}"
}
sample_aggregate_percentile

(type.Percent) The percentile to use when summarizing aggregated samples. Defaults to p50.

concurrency_limit_params

(config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams, REQUIRED)

min_rtt_calc_params

(config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams, REQUIRED)

config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams

[config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.ConcurrencyLimitCalculationParams proto]

Parameters controlling the periodic recalculation of the concurrency limit from sampled request latencies.

{
  "max_gradient": "{...}",
  "max_concurrency_limit": "{...}",
  "concurrency_update_interval": "{...}"
}
max_gradient

(DoubleValue) The maximum value the gradient is allowed to take. This influences how aggressively the concurrency limit can increase. Defaults to 2.0.

max_concurrency_limit

(UInt32Value) The allowed upper-bound on the calculated concurrency limit. Defaults to 1000.

concurrency_update_interval

(Duration) The period of time samples are taken to recalculate the concurrency limit.

config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams

[config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig.MinimumRTTCalculationParams proto]

Parameters controlling the periodic minRTT recalculation.

{
  "interval": "{...}",
  "request_count": "{...}",
  "jitter": "{...}"
}
interval

(Duration) The time interval between recalculating the minimum request round-trip time.

request_count

(UInt32Value) The number of requests to aggregate/sample during the minRTT recalculation window before updating. Defaults to 50.

jitter

(type.Percent) Randomized time delta that will be introduced to the start of the minRTT calculation window. This is represented as a percentage of the interval duration. Defaults to 15%.

Example: If the interval is 10s and the jitter is 15%, the next window will begin somewhere in the range (10s - 11.5s).

config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency

[config.filter.http.adaptive_concurrency.v2alpha.AdaptiveConcurrency proto]

{
  "gradient_controller_config": "{...}",
  "enabled": "{...}"
}
gradient_controller_config

(config.filter.http.adaptive_concurrency.v2alpha.GradientControllerConfig, REQUIRED) Gradient concurrency control will be used.

enabled

(core.RuntimeFeatureFlag) If set to false, the adaptive concurrency filter will operate as a pass-through filter. If the message is unspecified, the filter will be enabled.