Requests and limits
2 minute read
Every StormForge recommendation includes CPU and memory requests that the machine learning has determined to be optimal for each container in a workload.
Optimize Live generates CPU and memory recommendations using our patent pending machine learning. Our machine learning examines each container’s resource usage metrics, and monitors usage patterns and scaling behavior to come up with the optimal CPU and memory resource settings.
Requests
Request recommendations for CPU and memory are based on observed resource usage, constrained by optimization settings. After the machine learning generates recommendation candidates, an effective recommendation is created by:
- Selecting a recommendation candidate based on each workload’s configured Optimization Goal.
- Applying all of the configured constraints, such as min and max request bounds.
Limits
Limit recommendations for CPU and memory are optional, and StormForge offers a high degree of control over whether and how to set limits. If you would like to include limits in a recommendation, the recommended limits will usually be created by:
- Multiplying the recommended request value by a configurable limit-to-request-ratio, or LRR.
- Applying all of the configured constraints, such as min and max limit bounds.
Whether and how to recommend limits is controlled by Optimization Policy.
HPA and target utilization
StormForge is compatible with existing horizontal pod autoscalers. If a workload has an HPA, StormForge’s recommendation will include updates to the HPA target utilization values(s) that ensure StormForge’s vertical scaling activity will not cause conflict with, and will not be negated by, the HPA.
The purpose of the adjustments StormForge recommends for HPA target utilization is to preserve observed scaling behavior, while vertically resizing pods within it.
The range within StormForge is allowed to adjust the HPA’s target utilization can be constrained by min and max bounds.