]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
doc: move utilizing multiple CPUs to performance tuning
authorTomas Krizek <tomas.krizek@nic.cz>
Mon, 2 Dec 2019 13:36:54 +0000 (14:36 +0100)
committerTomas Krizek <tomas.krizek@nic.cz>
Wed, 15 Jan 2020 09:38:14 +0000 (10:38 +0100)
daemon/README.rst
doc/tuning.rst

index 023c80ab5de3c94d3f5a2080e3dfe1d7384c27d5..73cc62fe2e0379da70d7741fa005c327c2b6a381 100644 (file)
@@ -582,54 +582,6 @@ This is also a way to enumerate and test running instances, the list of files in
 of running processes, and you can test the process for liveliness by connecting to the UNIX socket.
 
 
-Utilizing multiple CPUs
-=======================
-
-The server can run in multiple independent processes, all sharing the same socket and cache. These processes can be started or stopped during runtime based on the load.
-
-**Using systemd**
-
-To run multiple daemons using systemd, use a different numeric identifier for
-the instance, for example:
-
-.. code-block:: bash
-
-   $ systemctl start kresd@1.service
-   $ systemctl start kresd@2.service
-   $ systemctl start kresd@3.service
-   $ systemctl start kresd@4.service
-
-With the use of brace expansion, the equivalent command looks like:
-
-.. code-block:: bash
-
-   $ systemctl start kresd@{1..4}.service
-
-For more details, see ``kresd.systemd(7)``.
-
-**Daemon only**
-
-.. code-block:: bash
-
-   $ kresd -f 4 rundir > kresd.log &
-   $ kresd -f 2 rundir > kresd_2.log & # Extra instances
-   $ pstree $$ -g
-   bash(3533)─┬─kresd(19212)─┬─kresd(19212)
-              │              ├─kresd(19212)
-              │              └─kresd(19212)
-              ├─kresd(19399)───kresd(19399)
-              └─pstree(19411)
-   $ kill 19399 # Kill group 2, former will continue to run
-   bash(3533)─┬─kresd(19212)─┬─kresd(19212)
-              │              ├─kresd(19212)
-              │              └─kresd(19212)
-              └─pstree(19460)
-
-.. _daemon-reuseport:
-
-.. note:: On recent Linux supporting ``SO_REUSEPORT`` (since 3.9, backported to RHEL 2.6.32) it is also able to bind to the same endpoint and distribute the load between the forked processes. If your OS doesn't support it, use only one daemon process.
-
-
 Cache Garbage Collector
 =======================
 
index 12f11c9691c6042d040498d670808d6cb5137ec5..eb60da9e233767c6b2b11cff275841992879ddab 100644 (file)
@@ -8,3 +8,51 @@ The out-of-the box configuration of the upstream Knot Resolver packages is
 intended for personal or small-scale use. Any deployments with traffic over 100
 queries per second will likely benefit from the recommendations in this guide.
 
+
+Utilizing multiple CPUs
+=======================
+
+The server can run in multiple independent processes, all sharing the same socket and cache. These processes can be started or stopped during runtime based on the load.
+
+**Using systemd**
+
+To run multiple daemons using systemd, use a different numeric identifier for
+the instance, for example:
+
+.. code-block:: bash
+
+   $ systemctl start kresd@1.service
+   $ systemctl start kresd@2.service
+   $ systemctl start kresd@3.service
+   $ systemctl start kresd@4.service
+
+With the use of brace expansion, the equivalent command looks like:
+
+.. code-block:: bash
+
+   $ systemctl start kresd@{1..4}.service
+
+For more details, see ``kresd.systemd(7)``.
+
+**Daemon only**
+
+.. code-block:: bash
+
+   $ kresd -f 4 rundir > kresd.log &
+   $ kresd -f 2 rundir > kresd_2.log & # Extra instances
+   $ pstree $$ -g
+   bash(3533)─┬─kresd(19212)─┬─kresd(19212)
+              │              ├─kresd(19212)
+              │              └─kresd(19212)
+              ├─kresd(19399)───kresd(19399)
+              └─pstree(19411)
+   $ kill 19399 # Kill group 2, former will continue to run
+   bash(3533)─┬─kresd(19212)─┬─kresd(19212)
+              │              ├─kresd(19212)
+              │              └─kresd(19212)
+              └─pstree(19460)
+
+.. _daemon-reuseport:
+
+.. note:: On recent Linux supporting ``SO_REUSEPORT`` (since 3.9, backported to RHEL 2.6.32) it is also able to bind to the same endpoint and distribute the load between the forked processes. If your OS doesn't support it, use only one daemon process.
+