Flink Tuning Guide
Global Configurations
When using Flink, you can set some global configurations in $FLINK_HOME/conf/flink-conf.yaml
Parallelism
| Option Name | Default | Type | Description |
|---|---|---|---|
taskmanager.numberOfTaskSlots | 1 | Integer | The number of parallel operator or user function instances that a single TaskManager can run. We recommend setting this value > 4, and the actual value needs to be set according to the amount of data |
parallelism.default | 1 | Integer | The default parallelism used when no parallelism is specified anywhere (default: 1). For example, If the value of write.bucket_assign.tasks is not set, this value will be used |
Memory
| Option Name | Default | Type | Description |
|---|---|---|---|
jobmanager.memory.process.size | (none) | MemorySize | Total Process Memory size for the JobManager. This includes all the memory that a JobManager JVM process consumes, consisting of Total Flink Memory, JVM Metaspace, and JVM Overhead |
taskmanager.memory.task.heap.size | (none) | MemorySize | Task Heap Memory size for TaskExecutors. This is the size of JVM heap memory reserved for write cache |
taskmanager.memory.managed.size | (none) | MemorySize | Managed Memory size for TaskExecutors. This is the size of off-heap memory managed by the memory manager, reserved for sorting and RocksDB state backend. If you choose RocksDB as the state backend, you need to set this memory |