Progressive Service Deployment
Stagger agent startups to avoid thundering-herd spikes after restarts.
Large deployments with a lot of agents tend to stampede after a restart. Each one immediately tries to fetch its work, causing short, severe load spikes. Progressive service deployment smooths these peaks by introducing short, per-agent delays during startup.
When to Enable Progressive Service Deployment
We recommend turning this on once your deployment reaches ~100,000 resources. At that scale, the stability benefits generally outweigh the slightly slower startup. Below that, it is optional.
Trade-off: Smoother load profile vs. a brief increase in time-to-steady-state after restarts.
When enabled, each agent applies a small, randomized delay before fetch attempts during a warmup window:
The warmup window lasts for
warmupDuration
(minutes).For each fetch during warmup, the agent waits between
warmupMinDelay
andwarmupMaxDelay
(milliseconds).After the warmup ends, the delay falls back to the base processing delay (default: 0 ms).
Enabling Progressive Service Deployment
In most cases the default values are sufficient and enough to enable progressive service deployment.
Enabling Progressive Service Deployment (Kubernetes)
To enable progressive service deployment, set
protocolMapperAgentDefaults.progressiveServiceDeployment.enabled
totrue
.Optional: Configure warmup duration and the min/max delay via the corresponding Helm values.
Example
protocolMapperAgentDefaults:
progressiveServiceDeployment:
enabled: true
warmupDuration: 5 # 5 minutes
warmupMinDelay: 2000 # 2000 milliseconds
warmupMaxDelay: 10000 # 10000 milliseconds
Configuration Parameters
Configuration parameters for the progressive service deployment.
Helm Values (Progressive Service Deployment)
The following Helm values are available in both, protocolMapperAgentDefaults
and protocolMapperAgents[*]
:
progressiveServiceDeployment.enabled
false
Enables or disables the progressive service deployment warmup mechanism. When enabled, service deployment is gradually ramped up to avoid sudden load. Choices: true, false
progressiveServiceDeployment.warmupDuration
3
Defines the duration (in minutes) for which the warmup mechanism is active. After this time expires, the delay falls back to its default ("0").
progressiveServiceDeployment.warmupMinDelay
500
The minimum (in milliseconds) for the delay an agent can apply during the warmup period.
progressiveServiceDeployment.warmupMaxDelay
800
The maximum (in milliseconds) for the delay an agent can apply during the warmup period.
Last updated
Was this helpful?