From: Remi Gacogne Date: Fri, 27 Apr 2018 16:49:33 +0000 (+0200) Subject: rec: Clarify a bit what an incomning UDP queries processing round is X-Git-Tag: rec-4.1.4^2~6^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ce200be4afcdd812653373df380c7f1441a3dfa5;p=pdns rec: Clarify a bit what an incomning UDP queries processing round is (cherry picked from commit 78227847a6c17d890b405b057fc87e651de31604) --- diff --git a/pdns/pdns_recursor.cc b/pdns/pdns_recursor.cc index 97580d583..057e29530 100644 --- a/pdns/pdns_recursor.cc +++ b/pdns/pdns_recursor.cc @@ -3489,7 +3489,7 @@ int main(int argc, char **argv) ::arg().set("max-qperq", "Maximum outgoing queries per query")="50"; ::arg().set("max-total-msec", "Maximum total wall-clock time per query in milliseconds, 0 for unlimited")="7000"; ::arg().set("max-recursion-depth", "Maximum number of internal recursion calls per query, 0 for unlimited")="40"; - ::arg().set("max-udp-queries-per-round", "Maximum number of UDP queries processed per round, before returning back to normal processing")="10000"; + ::arg().set("max-udp-queries-per-round", "Maximum number of UDP queries processed per recvmsg() round, before returning back to normal processing")="10000"; ::arg().set("include-dir","Include *.conf files from this directory")=""; ::arg().set("security-poll-suffix","Domain name from which to query security update notifications")="secpoll.powerdns.com."; diff --git a/pdns/recursordist/docs/settings.rst b/pdns/recursordist/docs/settings.rst index fcf80968e..a76877b63 100644 --- a/pdns/recursordist/docs/settings.rst +++ b/pdns/recursordist/docs/settings.rst @@ -759,8 +759,11 @@ Total maximum number of milliseconds of wallclock time the server may use to ans - Integer - Default: 10000 -Maximum number of DNS queries processed in a single round after being woken up by the multiplexer, before -returning back to normal processing to handle other events. +Under heavy load the recursor might be busy processing incoming UDP queries for a long while before there is no more of these, and might therefore +neglect scheduling new ``mthreads``, handling responses from authoritative servers or responding to :doc:`rec_control ` +requests. +This setting caps the maximum number of incoming UDP DNS queries processed in a single round of looping on ``recvmsg()`` after being woken up by the multiplexer, before +returning back to normal processing and handling other events. .. _setting-minimum-ttl-override: