Autoscaler configurations

Learn more about how to configure the autoscaler.

You can tune the autoscaler by changing the default configurations based on your environment:
...
flinkVersion: v1_18
flinkConfiguration:
    job.autoscaler.enabled: "true"
    job.autoscaler.stabilization.interval: 1m
    job.autoscaler.metrics.window: 5m
    job.autoscaler.target.utilization: "0.6"
    job.autoscaler.target.utilization.boundary: "0.2"
    job.autoscaler.restart.time: 2m
    job.autoscaler.catch-up.duration: 5m
    pipeline.max-parallelism: "720"
You can use the following configurations to change the behavior of the autoscaler:
Table 1. Autoscaler configuration properties
Configuration Default value Description
job.autoscaler.enabled false Enables or disables the autoscaler functionality. The default false value still supports a passive/metrics-only mode. In this case the autoscaler only collects and evaluates scaling related performance metrics, but does not trigger any job upgrades. This can be used to learn using the autoscaler without any impact on the running applications.
job.autoscaler.stabilization.interval 5 minutes Specifies the stabilization period in which no new scaling will be executed.
job.autoscaler.metrics.window 15 minutes Specifies the size of the scaling metrics aggregation window. The size of the window determines how small fluctuations affect the autoscaler: more stability can be achieved with increased window size, but with larger windows the autoscaler might be slower to react to sudden changes.
job.autoscaler.target.utilization 0.7 Specifies the target vertex utilization for stable job performance and some buffer for load fluctuations. The default 0.7 targets 70% utilization/load for the job vertexes.
job.autoscaler.target.utilization.boundary 0.3 Specifies the target of vertex utilization boundary for an extra buffer to avoid immediate scaling on load fluctuations. The default 0.3 targets 30% deviation from the target utilization before triggering a scaling action.
job.autoscaler.restart.time 5 minutes Specifies the expected time an application restarts.
job.autoscaler.catch-up.duration 30 minutes Specifies the expected time to entirely process any backlog after a scaling operation is completed. When lowering the catch-up duration, the autoscaler reserves more extra capacity for the auto scaling actions.
pipeline.max-parallelism 200 Specifies the maximum parallelism the autoscaler can use. This limit is ignored if the value is higher than the max parallelism configured in the Flink configuration or directly on each operator. To ensure flexible scaling, it is recommended to choose max parallelism configurations that have a lot of divisors, such as 120, 180, 240, and so on.
For the full list of configuration properties, see the Autoscaler configuration page.