Skip to content

Scaling Configuration

This page lists the Scaler service configuration variables. Defaults reflect the current ICC implementation.

These settings apply to both scaler versions.

VariableDefaultDescription
PLT_SCALER_ALGORITHM_VERSIONv1Selects v1 reactive scaling or v2 predictive scaling. V2 is Enterprise-only.
PLT_SCALER_SCALING_DISABLEDfalsePrevents the scaler from changing controller replicas.
PLT_SCALER_MIN_PODS_DEFAULT1Default application minimum when no stored limit exists.
PLT_SCALER_MAX_PODS_DEFAULT10Default application maximum when no stored limit exists.
PLT_SCALER_SYNC_K8S60Controller and label synchronization interval, in seconds.
PLT_SCALER_POD_MIN_LABELicc.platformatic.dev/scaler-minController label containing the application minimum.
PLT_SCALER_POD_MIN_DEFAULT_VALUE1Minimum used during label synchronization when only the maximum label is provided and no stored minimum exists.
PLT_SCALER_POD_MAX_LABELicc.platformatic.dev/scaler-maxController label containing the application maximum.
PLT_SCALER_POD_MAX_DEFAULT_VALUE10Maximum used during label synchronization when only the minimum label is provided and no stored maximum exists.

See Scaling Limits for application-level configuration.

VariableDefaultDescription
PLT_ICC_VALKEY_CONNECTION_STRINGRequiredValkey connection used for scaler state, cooldowns, signals, and scheduled limits.
PLT_MACHINIST_URLRequiredMachinist service used to read and update application controllers.
PLT_MACHINIST_PROVIDERk8sInfrastructure provider prefix used by the Machinist client.
PLT_METRICS_PROMETHEUS_URLNonePrometheus endpoint used by V1 and scaling-event metric views.
VariableDefaultDescription
PLT_METRICS_TIME_RANGE60Prometheus history window used for application metrics, in seconds.
PLT_SCALER_DEBOUNCE10000Alert debounce interval, in milliseconds.
PLT_SCALER_MAX_HISTORY10Maximum recent scaling events retained per application.
PLT_SCALER_MAX_CLUSTERS5Maximum performance-history clusters retained per application.
PLT_SCALER_ELU_THRESHOLD0.8ELU threshold used by the current V1 executor.
PLT_SCALER_HEAP_THRESHOLD0.85Heap-utilization threshold.
PLT_SCALER_POST_EVAL_WINDOW300Delay before evaluating a scaling result, in seconds.
PLT_SCALER_COOLDOWN15Scale-up cooldown, in seconds. The scale-down cooldown is derived from this value.
PLT_SCALER_PERIODIC_TRIGGER60Periodic metrics evaluation interval, in seconds.

The following settings are used only when PLT_SCALER_ALGORITHM_VERSION=v2.

VariableDefaultDescription
PLT_SCALER_DASHBOARD_API_ENABLEDfalseIncludes additional prediction-debug fields in the dashboard API.
PLT_SIGNALS_SCALER_RECONNECT_TIMEOUT_MS5000Grace period before treating a disconnected runtime as terminated.
PLT_SIGNALS_SCALER_READINESS_DELAY_MS10000Readiness-probe interval allowance used when estimating when traffic reaches a new instance.
PLT_SIGNALS_SCALER_HORIZONTAL_TREND_THRESHOLD0.2Normalized trend angle, in degrees, below which a trend is considered horizontal.
PLT_SIGNALS_SCALER_PENDING_SCALE_UP_EXPIRY_MS60000Lifetime of a pending scale-up record.
PLT_SIGNALS_SCALER_REDEPLOY_TIMEOUT_MS120000Window used to recognize a deployment replacement rather than a scaler action.
PLT_SIGNALS_SCALER_INIT_TIMEOUT_MS30000Initial instance startup-time estimate.
PLT_SIGNALS_SCALER_HORIZON_MULTIPLIER1.2Safety multiplier applied to the learned startup time.
PLT_SIGNALS_SCALER_MIN_HORIZON_MS25000Minimum prediction horizon.
PLT_SIGNALS_SCALER_MAX_HORIZON_MS40000Maximum prediction horizon.
VariableDefaultDescription
PLT_SIGNALS_SCALER_INIT_TIMEOUT_WINDOW_SIZE5Number of recent observed startup times used for the median target.
PLT_SIGNALS_SCALER_INIT_TIMEOUT_STEP_RATE0.1Maximum proportional change applied in one update.
PLT_SIGNALS_SCALER_INIT_TIMEOUT_UP_FACTOR1.5Multiplier allowing startup estimates to increase faster.
PLT_SIGNALS_SCALER_INIT_TIMEOUT_DOWN_FACTOR1.0Multiplier controlling decreases in the startup estimate.
VariableDefaultDescription
PLT_SIGNALS_SCALER_SCALE_UP_K1.5Dampening coefficient applied to forecast growth during scale-up calculation.
PLT_SIGNALS_SCALER_SCALE_UP_MARGIN0.1Additional scale-up margin used when forecast capacity is slightly over an instance boundary.
PLT_SIGNALS_SCALER_SCALE_DOWN_MARGIN0.3Spare-capacity margin retained during scale-down.
PLT_SIGNALS_SCALER_LIVE_METRIC_COUNT3Most recent raw samples per worker used for the live metric.
PLT_SIGNALS_SCALER_MAX_SCALE_UP_STEP4Maximum instances added by a single V2 decision.
PLT_SIGNALS_SCALER_PROCESSING_INIT_TIMEOUT_MS1000Delay before processing the first pending signal batch.
PLT_SIGNALS_SCALER_PROCESSING_COOLDOWN_MS10000Delay before processing another pending batch after a decision cycle.
PLT_SIGNALS_SCALER_INSTANCES_WINDOW_MS180000Runtime lifecycle history retained for reconstruction and deployment detection.
VariableDefaultDescription
PLT_SIGNALS_SCALER_COOLDOWN_SCALE_UP_AFTER_SCALE_UP_MS5000Scale-up delay after a scale-up.
PLT_SIGNALS_SCALER_COOLDOWN_SCALE_UP_AFTER_SCALE_DOWN_MS5000Scale-up delay after a scale-down.
PLT_SIGNALS_SCALER_COOLDOWN_SCALE_DOWN_AFTER_SCALE_UP_MS180000Scale-down delay after a scale-up.
PLT_SIGNALS_SCALER_COOLDOWN_SCALE_DOWN_AFTER_SCALE_DOWN_MS60000Scale-down delay after a scale-down.
VariableDefaultDescription
PLT_SIGNALS_SCALER_ELU_WINDOW_MS90000ELU history window used for reconstruction and forecasting.
PLT_SIGNALS_SCALER_ELU_SAMPLE_INTERVAL1000ELU alignment interval.
PLT_SIGNALS_SCALER_ELU_REDISTRIBUTION_MS30000Period over which a new instance’s ELU contribution is introduced.
PLT_SIGNALS_SCALER_ELU_ALPHA_UP0.2Holt level smoothing factor when ELU is above the forecast.
PLT_SIGNALS_SCALER_ELU_ALPHA_DOWN0.1Holt level smoothing factor when ELU is below the forecast.
PLT_SIGNALS_SCALER_ELU_BETA_UP0.12Holt trend smoothing factor when ELU is above the forecast.
PLT_SIGNALS_SCALER_ELU_BETA_DOWN0.1Holt trend smoothing factor when ELU is below the forecast.
VariableDefaultDescription
PLT_SIGNALS_SCALER_HEAP_WINDOW_MS90000Heap history window used for reconstruction and forecasting.
PLT_SIGNALS_SCALER_HEAP_SAMPLE_INTERVAL1000Heap alignment interval.
PLT_SIGNALS_SCALER_HEAP_REDISTRIBUTION_MS30000Period over which a new instance’s heap contribution is introduced.
PLT_SIGNALS_SCALER_HEAP_ALPHA_UP0.2Holt level smoothing factor when heap is above the forecast.
PLT_SIGNALS_SCALER_HEAP_ALPHA_DOWN0.1Holt level smoothing factor when heap is below the forecast.
PLT_SIGNALS_SCALER_HEAP_BETA_UP0.12Holt trend smoothing factor when heap is above the forecast.
PLT_SIGNALS_SCALER_HEAP_BETA_DOWN0.1Holt trend smoothing factor when heap is below the forecast.
PLT_SIGNALS_SCALER_VALKEY_KEY_PREFIXscaler:Prefix for V2 state stored in Valkey.

V2 thresholds are supplied with the per-service runtime signals rather than configured through a global Scaler environment variable.

Planner settings apply only to V2 Enterprise deployments.

VariableDefaultDescription
PLT_SCALER_SCHEDULER_ENABLEDtrueEnables application of accepted suggestions and custom schedules.
PLT_SCALER_SCHEDULER_TICK_MINUTES1Interval for evaluating active scheduled windows.
PLT_SCALER_TIME_SLOT_MINUTES5Collection interval for raw required/actual instance statistics. Must divide 60 evenly.
PLT_SCALER_TIME_SLOT_TIMEZONEUTCCluster calendar timezone used for history, predictions, and plan rebuilding.
PLT_SCALER_TIME_WINDOW_MINUTES60Planner aggregation and scheduling window. Must be a multiple of the slot and divide 1440.
PLT_SCALER_PATTERN_PERCENTILEp50Time-weighted percentile selected from each slot for pattern learning.
PLT_SCALER_PATTERN_PREDICTION_DAYS60Number of future days generated by the Planner.
PLT_SCALER_SUGGESTION_OCCURRENCES_LIMIT14Maximum past occurrences shown as evidence for a suggestion.
PLT_SCALER_WINDOW_CATEGORIES5Number of relative capacity categories displayed in the Planner. Must be an odd integer of at least 3.
PLT_SCALER_WINDOW_MIN_PODS3Minimum category width in instances.
PLT_SCALER_WINDOW_MIN_FRACTION0.1Minimum category width as a fraction of the application’s capacity range.