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