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:
For the full list of configuration properties, see the Autoscaler
configuration page.
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. |