From: W.C.A. Wijngaards Date: Wed, 16 Apr 2025 10:03:08 +0000 (+0200) Subject: - Increase default to `num-queries-per-thread: 2048`, when unbound is X-Git-Tag: release-1.24.0rc1~111 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fe835f9d529cefb71c5720a41a69f21097696d51;p=thirdparty%2Funbound.git - Increase default to `num-queries-per-thread: 2048`, when unbound is compiled with libevent. It makes saturation of the task queue more resource intensive and less practical. Thanks to Shiming Liu, Network and Information Security Lab, Tsinghua University for the report. --- diff --git a/doc/Changelog b/doc/Changelog index f695d7f4e..488b107c0 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,10 @@ +16 April 2025: Wouter + - Increase default to `num-queries-per-thread: 2048`, when unbound is + compiled with libevent. It makes saturation of the task queue more + resource intensive and less practical. Thanks to Shiming Liu, + Network and Information Security Lab, Tsinghua University for the + report. + 11 April 2025: Yorgos - Merge #1265: Fix WSAPoll. diff --git a/doc/example.conf.in b/doc/example.conf.in index fdef9ef37..db54f9739 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -163,7 +163,7 @@ server: # msg-cache-slabs: 4 # the number of queries that a thread gets to service. - # num-queries-per-thread: 1024 + # num-queries-per-thread: 2048 # if very busy, 50% queries run to completion, 50% get timeout in msec # jostle-timeout: 200 diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 21dbd73e6..4c7ea9f75 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -268,7 +268,7 @@ The number of queries that every thread will service simultaneously. If more queries arrive that need servicing, and no queries can be jostled out (see \fIjostle\-timeout\fR), then the queries are dropped. This forces the client to resend after a timeout; allowing the server time to work on -the existing queries. Default depends on compile options, 512 or 1024. +the existing queries. Default depends on compile options, 512 or 2048. .TP .B jostle\-timeout: \fI Timeout used when the server is very busy. Set to a value that usually @@ -280,7 +280,7 @@ service by slow queries or high query rates. Default 200 milliseconds. The effect is that the qps for long-lasting queries is about (numqueriesperthread / 2) / (average time for such long queries) qps. The qps for short queries can be about (numqueriesperthread / 2) -/ (jostletimeout in whole seconds) qps per thread, about (1024/2)*5 = 2560 +/ (jostletimeout in whole seconds) qps per thread, about (2048/2)*5 = 5120 qps by default. .TP .B delay\-close: \fI diff --git a/util/config_file.c b/util/config_file.c index 81bffa8d8..7566d690c 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -155,7 +155,7 @@ config_create(void) # else /* libevent can use many sockets */ cfg->outgoing_num_ports = 4096; - cfg->num_queries_per_thread = 1024; + cfg->num_queries_per_thread = 2048; # endif cfg->outgoing_num_tcp = 10; cfg->incoming_num_tcp = 10;