Skip to content

Commit 9e1abcd

Browse files
authored
administration: networking: add doc for max_worker_connections (#1142)
Signed-off-by: lecaros <[email protected]>
1 parent a21fd28 commit 9e1abcd

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

administration/networking.md

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,31 @@ In order to control how long a keepalive connection can be idle, we expose the c
3838

3939
If a transport layer protocol is specified, the plugin whose configuration section the `net.dns.mode` setting is specified on overrides the global `dns.mode` value and issues DNS requests using the specified protocol which can be either TCP or UDP
4040

41+
### Max Connections Per Worker
42+
43+
By default, Fluent Bit tries to deliver data as faster as possible and create TCP connections on-demand and in keepalive mode for performance reasons. In high-scalable environments, the user might want to control how many connections are done in parallel by setting a limit.
44+
45+
This can be done by the configuration property called `net.max_worker_connections` that can be used in the output plugins sections.
46+
This feature acts at the worker level, e.g., if you have 5 workers and `net.max_worker_connections` is set to 10, a max of 50 connections will be allowed.
47+
If the limit is reached, the output plugin will issue a retry.
48+
49+
4150
## Configuration Options
4251

4352
For plugins that rely on networking I/O, the following section describes the network configuration properties available and how they can be used to optimize performance or adjust to different configuration needs:
4453

45-
| Property | Description | Default |
46-
| :--- | :--- | :--- |
47-
| `net.connect_timeout` | Set maximum time expressed in seconds to wait for a TCP connection to be established, this include the TLS handshake time. | 10 |
48-
| `net.connect_timeout_log_error` | On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message. | true |
49-
| `net.dns.mode` | Select the primary DNS connection type (TCP or UDP). Can be set in the [SERVICE] section and overridden on a per plugin basis if desired. | |
50-
| `net.dns.prefer_ipv4` | Prioritize IPv4 DNS results when trying to establish a connection. | false |
51-
| `net.dns.resolver`| Select the primary DNS resolver type (LEGACY or ASYNC). | |
52-
| `net.keepalive` | Enable or disable connection keepalive support. Accepts a boolean value: on / off. | on |
53-
| `net.keepalive_idle_timeout` | Set maximum time expressed in seconds for an idle keepalive connection. | 30 |
54-
| `net.keepalive_max_recycle` | Set maximum number of times a keepalive connection can be used before it is retired. | 2000 |
55-
| `net.source_address` | Specify network address to bind for data traffic. | |
54+
| Property | Description | Default |
55+
| :--- |:------------------------------------------------------------------------------------------------------------------------------------------|:--------------|
56+
| `net.connect_timeout` | Set maximum time expressed in seconds to wait for a TCP connection to be established, this include the TLS handshake time. | 10 |
57+
| `net.connect_timeout_log_error` | On connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message. | true |
58+
| `net.dns.mode` | Select the primary DNS connection type (TCP or UDP). Can be set in the [SERVICE] section and overridden on a per plugin basis if desired. | |
59+
| `net.dns.prefer_ipv4` | Prioritize IPv4 DNS results when trying to establish a connection. | false |
60+
| `net.dns.resolver`| Select the primary DNS resolver type (LEGACY or ASYNC). | |
61+
| `net.keepalive` | Enable or disable connection keepalive support. Accepts a boolean value: on / off. | on |
62+
| `net.keepalive_idle_timeout` | Set maximum time expressed in seconds for an idle keepalive connection. | 30 |
63+
| `net.keepalive_max_recycle` | Set maximum number of times a keepalive connection can be used before it is retired. | 2000 |
64+
| `net.max_worker_connections` | Set maximum number of TCP connections that can be established per worker. | 0 (unlimited) |
65+
| `net.source_address` | Specify network address to bind for data traffic. | |
5666

5767
## Example
5868

0 commit comments

Comments
 (0)