From: Remi Gacogne Date: Mon, 10 May 2021 14:03:52 +0000 (+0200) Subject: dnsdist: Add a few words about memory consumption in the documentation X-Git-Tag: auth-4.5.0-alpha1~10^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F10381%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Add a few words about memory consumption in the documentation --- diff --git a/pdns/dnsdistdist/docs/advanced/tuning.rst b/pdns/dnsdistdist/docs/advanced/tuning.rst index f6f03f4ee2..3c84d9aa6e 100644 --- a/pdns/dnsdistdist/docs/advanced/tuning.rst +++ b/pdns/dnsdistdist/docs/advanced/tuning.rst @@ -130,23 +130,34 @@ For other components, like the packet cache and the in-memory ring buffers, it i Sharding was disabled by default before 1.6.0 and could be enabled via the `numberOfShards` option to :func:`newPacketCache` and :func:`setRingBuffersSize`. It might still make sense to increment the number of shards when dealing with a lot of threads. -Memory usage for TCP, DoH and DoT ---------------------------------- - -+--------------------------------+-----------------------------+ -| Protocol | Memory usage per connection | -+================================+=============================+ -| TCP | 6 kB | -+--------------------------------+-----------------------------+ -| DoT (GnuTLS) | 16 kB | -+--------------------------------+-----------------------------+ -| DoT (OpenSSL) | 52 kB | -+--------------------------------+-----------------------------+ -| DoT (OpenSSL w/ releaseBuffers | 19 kB | -+--------------------------------+-----------------------------+ -| DoH (http) | 2 kB | -+--------------------------------+-----------------------------+ -| DoH | 48 kB | -+--------------------------------+-----------------------------+ -| DoH (w/ releaseBuffers) | 15 kB | -+--------------------------------+-----------------------------+ +Memory usage +------------ + +The main sources of memory usage in DNSDist are: + + * packet caches, when enabled + * the number of outstanding UDP queries per backend, configured with :func:`setMaxUDPOutstanding` (see above) + * the number of entries in the ring-buffers, configured with :func:`setRingBuffersSize` + * the number of short-lived dynamic block entries + * the number of user-defined rules and actions + * the number of TCP, DoT and DoH connections + +Memory usage per connection for connected protocols: + ++---------------------------------+-----------------------------+ +| Protocol | Memory usage per connection | ++=================================+=============================+ +| TCP | 6 kB | ++---------------------------------+-----------------------------+ +| DoT (GnuTLS) | 16 kB | ++---------------------------------+-----------------------------+ +| DoT (OpenSSL) | 52 kB | ++---------------------------------+-----------------------------+ +| DoT (OpenSSL w/ releaseBuffers) | 19 kB | ++---------------------------------+-----------------------------+ +| DoH (http) | 2 kB | ++---------------------------------+-----------------------------+ +| DoH | 48 kB | ++---------------------------------+-----------------------------+ +| DoH (w/ releaseBuffers) | 15 kB | ++---------------------------------+-----------------------------+