2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

Add option to configure load balance sockets

Previously, the option to enable kernel load balancing of the sockets
was always enabled when supported by the operating system (SO_REUSEPORT
on Linux and SO_REUSEPORT_LB on FreeBSD).

It was reported that in scenarios where the networking threads are also
responsible for processing long-running tasks (like RPZ processing, CATZ
processing or large zone transfers), this could lead to intermitten
brownouts for some clients, because the thread assigned by the operating
system might be busy.  In such scenarious, the overall performance would
be better served by threads competing over the sockets because the idle
threads can pick up the incoming traffic.

Add new configuration option (`load-balance-sockets`) to allow enabling
or disabling the load balancing of the sockets.
This commit is contained in:
Ondřej Surý
2022-04-01 14:43:14 +02:00
parent 38f8716b1c
commit 85c6e797aa
16 changed files with 245 additions and 134 deletions

View File

@@ -711,6 +711,8 @@ struct isc_nm {
atomic_uint_fast32_t workers_paused;
atomic_uint_fast32_t maxudp;
bool load_balance_sockets;
atomic_bool paused;
/*