Github user zhijiangW commented on a diff in the pull request:
https://github.com/apache/flink/pull/5317#discussion_r163155437
--- Diff: docs/ops/config.md ---
@@ -290,6 +290,12 @@ The following parameters configure Flink's JobManager
and TaskManagers.
- `taskmanager.network.numberOfBuffers` (deprecated, replaced by the three
parameters above): The number of buffers available to the network stack. This
number determines how many streaming data exchange channels a TaskManager can
have at the same time and how well buffered the channels are. If a job is
rejected or you get a warning that the system has not enough buffers available,
increase this value (DEFAULT: **2048**). If set, it will be mapped to
`taskmanager.network.memory.min` and `taskmanager.network.memory.max` based on
`taskmanager.memory.segment-size`.
+- `taskmanager.network.memory.buffers-per-channel`: Number of network
buffers to use for each outgoing/incoming channel (subpartition/input channel).
Especially in credit-based flow control mode, it indicates how many credits are
exclusive in each input channel. It should be configured at least 2 for good
performance. 1 buffer is for receving in-flight data in the subpartition and 1
buffer is for parallel serialization.
+
--- End diff --
It is also used in current old mode and it is no need to change the default
value in most cases in the old mode.
Considering the new credit-based mode, if the value greater than 2, it can
get benefits if the bottleneck is caused by slow downstream processing. The
greater the value is set, the lower probability of blocking the upstream and
causing back-pressure. But we should also consider the total available buffer
resources for setting this parameter.
---