Skip to content

Commit 7894910

Browse files
Networking guides: link to two more solid sources on TCP setting tuning
1 parent 1efee71 commit 7894910

File tree

3 files changed

+61
-13
lines changed

3 files changed

+61
-13
lines changed

docs/networking.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ using peer certificates is also possible. Please refer to the [TLS/SSL guide](./
593593
for more information.
594594

595595

596-
## Tuning for Throughput {#tuning-for-throughput}
596+
## Tuning for Throughput and Multi-Gigabit Links {#tuning-for-throughput}
597597

598598
<a id="tuning-for-throughput-intro"></a>
599599

@@ -612,7 +612,16 @@ based on message rates and sizes.
612612

613613
For the latter two, see the OS-level tuning section below.
614614

615-
Note that tuning for throughput will involve trade-offs. For example, increasing TCP buffer
615+
:::tip
616+
617+
[Networking stack tuning](https://fasterdata.es.net/host-tuning/linux/) can be useful for environments with multi-gigabit links and workloads that extensively use [streams](./streams).
618+
619+
However, higher values won't necessarily produce better results, and kernel network
620+
tuning is [a science, not an art](https://fasterdata.es.net/host-tuning/background/#t2).
621+
622+
:::
623+
624+
TCP setting tuning for throughput will involve trade-offs. For example, increasing TCP buffer
616625
sizes will increase the amount of RAM used by every connection, which can be a significant
617626
total server RAM use increase.
618627

@@ -884,10 +893,7 @@ Finding an optimal value is usually a matter of trial and error.
884893

885894
### Nagle's Algorithm ("nodelay") {#tuning-for-large-number-of-connections-nodelay}
886895

887-
Turning off <a
888-
href="http://en.wikipedia.org/wiki/Nagle's_algorithm">Nagle's
889-
algorithm</a> is primarily useful for reducing latency but
890-
can also improve throughput.
896+
Turning off <a href="http://en.wikipedia.org/wiki/Nagle's_algorithm">Nagle's algorithm</a> is primarily useful for reducing latency but can also improve throughput.
891897

892898
`kernel.inet_default_connect_options` and `kernel.inet_default_listen_options` must
893899
include `{nodelay, true}` to turn off Nagle's algorithm for inter-node connections.
@@ -1054,6 +1060,15 @@ net.ipv4.tcp_tw_reuse = 1
10541060

10551061
## OS Level Tuning {#os-tuning}
10561062

1063+
:::tip
1064+
1065+
[Networking stack tuning](https://fasterdata.es.net/host-tuning/linux/) can be useful for environments with multi-gigabit links and workloads that extensively use [streams](./streams).
1066+
1067+
However, higher values won't necessarily produce better results, and kernel network
1068+
tuning is [a science, not an art](https://fasterdata.es.net/host-tuning/background/#t2).
1069+
1070+
:::
1071+
10571072
Operating system settings can affect operation of RabbitMQ.
10581073
Some are directly related to networking (e.g. TCP settings), others
10591074
affect TCP sockets as well as other things (e.g. open file handles limit).

versioned_docs/version-4.0/networking.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,16 @@ Tuning for throughput is a common goal. Improvements can be achieved by
605605

606606
For the latter two, see the OS-level tuning section below.
607607

608-
Note that tuning for throughput will involve trade-offs. For example, increasing TCP buffer
608+
:::tip
609+
610+
[Networking stack tuning](https://fasterdata.es.net/host-tuning/linux/) can be useful for environments with multi-gigabit links and workloads that extensively use [streams](./streams).
611+
612+
However, higher values won't necessarily produce better results, and kernel network
613+
tuning is [a science, not an art](https://fasterdata.es.net/host-tuning/background/#t2).
614+
615+
:::
616+
617+
TCP setting tuning for throughput will involve trade-offs. For example, increasing TCP buffer
609618
sizes will increase the amount of RAM used by every connection, which can be a significant
610619
total server RAM use increase.
611620

@@ -1004,6 +1013,15 @@ net.ipv4.tcp_tw_reuse = 1
10041013

10051014
## OS Level Tuning {#os-tuning}
10061015

1016+
:::tip
1017+
1018+
[Networking stack tuning](https://fasterdata.es.net/host-tuning/linux/) can be useful for environments with multi-gigabit links and workloads that extensively use [streams](./streams).
1019+
1020+
However, higher values won't necessarily produce better results, and kernel network
1021+
tuning is [a science, not an art](https://fasterdata.es.net/host-tuning/background/#t2).
1022+
1023+
:::
1024+
10071025
Operating system settings can affect operation of RabbitMQ.
10081026
Some are directly related to networking (e.g. TCP settings), others
10091027
affect TCP sockets as well as other things (e.g. open file handles limit).

versioned_docs/version-4.1/networking.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ using peer certificates is also possible. Please refer to the [TLS/SSL guide](./
593593
for more information.
594594

595595

596-
## Tuning for Throughput {#tuning-for-throughput}
596+
## Tuning for Throughput and Multi-Gigabit Links {#tuning-for-throughput}
597597

598598
<a id="tuning-for-throughput-intro"></a>
599599

@@ -612,7 +612,16 @@ based on message rates and sizes.
612612

613613
For the latter two, see the OS-level tuning section below.
614614

615-
Note that tuning for throughput will involve trade-offs. For example, increasing TCP buffer
615+
:::tip
616+
617+
[Networking stack tuning](https://fasterdata.es.net/host-tuning/linux/) can be useful for environments with multi-gigabit links and workloads that extensively use [streams](./streams).
618+
619+
However, higher values won't necessarily produce better results, and kernel network
620+
tuning is [a science, not an art](https://fasterdata.es.net/host-tuning/background/#t2).
621+
622+
:::
623+
624+
TCP setting tuning for throughput will involve trade-offs. For example, increasing TCP buffer
616625
sizes will increase the amount of RAM used by every connection, which can be a significant
617626
total server RAM use increase.
618627

@@ -884,10 +893,7 @@ Finding an optimal value is usually a matter of trial and error.
884893

885894
### Nagle's Algorithm ("nodelay") {#tuning-for-large-number-of-connections-nodelay}
886895

887-
Turning off <a
888-
href="http://en.wikipedia.org/wiki/Nagle's_algorithm">Nagle's
889-
algorithm</a> is primarily useful for reducing latency but
890-
can also improve throughput.
896+
Turning off <a href="http://en.wikipedia.org/wiki/Nagle's_algorithm">Nagle's algorithm</a> is primarily useful for reducing latency but can also improve throughput.
891897

892898
`kernel.inet_default_connect_options` and `kernel.inet_default_listen_options` must
893899
include `{nodelay, true}` to turn off Nagle's algorithm for inter-node connections.
@@ -1054,6 +1060,15 @@ net.ipv4.tcp_tw_reuse = 1
10541060

10551061
## OS Level Tuning {#os-tuning}
10561062

1063+
:::tip
1064+
1065+
[Networking stack tuning](https://fasterdata.es.net/host-tuning/linux/) can be useful for environments with multi-gigabit links and workloads that extensively use [streams](./streams).
1066+
1067+
However, higher values won't necessarily produce better results, and kernel network
1068+
tuning is [a science, not an art](https://fasterdata.es.net/host-tuning/background/#t2).
1069+
1070+
:::
1071+
10571072
Operating system settings can affect operation of RabbitMQ.
10581073
Some are directly related to networking (e.g. TCP settings), others
10591074
affect TCP sockets as well as other things (e.g. open file handles limit).

0 commit comments

Comments
 (0)