From a9335b16639635dfe0a92ff68cf3f6a41c572949 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 15 Nov 2020 09:56:25 +0100 Subject: system: move performance tuning into options chapter --- docs/system/advanced-index.rst | 5 ++--- docs/system/options-performance.rst | 39 ------------------------------------ docs/system/options.rst | 40 +++++++++++++++++++++++++++++++++++-- 3 files changed, 40 insertions(+), 44 deletions(-) delete mode 100644 docs/system/options-performance.rst (limited to 'docs') diff --git a/docs/system/advanced-index.rst b/docs/system/advanced-index.rst index 310dfdb0..7d956018 100644 --- a/docs/system/advanced-index.rst +++ b/docs/system/advanced-index.rst @@ -7,14 +7,13 @@ System .. toctree:: :maxdepth: 2 + boot-options eventhandler flow-accounting + lcd ntp options - options-performance - boot-options proxy serial-console syslog task-scheduler - lcd diff --git a/docs/system/options-performance.rst b/docs/system/options-performance.rst deleted file mode 100644 index 32e95520..00000000 --- a/docs/system/options-performance.rst +++ /dev/null @@ -1,39 +0,0 @@ -.. _system_options_performance: - -########### -Performance -########### - -As more and more routers run on Hypervisors, expecially with a :abbr:`NOS -(Network Operating System)` as VyOS, it makes fewer and fewer sense to use -static resource bindings like ``smp-affinity`` as present in VyOS 1.2 and -earlier to pin certain interrupt handlers to specific CPUs. - -We now utilize `tuned` for dynamic resource balancing based on profiles. - - .. seealso:: https://access.redhat.com/sites/default/files/attachments/201501-perf-brief-low-latency-tuning-rhel7-v2.1.pdf - -Configureation -============== - -.. cfgcmd:: set system options performance < throughput | latency > - - Configure one of the predefined system performance profiles. - - * ``throughput``: A server profile focused on improving network throughput. - This profile favors performance over power savings by setting ``intel_pstate`` - and ``max_perf_pct=100`` and increasing kernel network buffer sizes. - - It enables transparent huge pages, and uses cpupower to set the performance - cpufreq governor. It also sets ``kernel.sched_min_granularity_ns`` to 10 us, - ``kernel.sched_wakeup_granularity_ns`` to 15 uss, and ``vm.dirty_ratio`` to - 40%. - - * ``latency``: A server profile focused on lowering network latency. - This profile favors performance over power savings by setting ``intel_pstate`` - and ``min_perf_pct=100``. - - It disables transparent huge pages, and automatic NUMA balancing. It also - uses cpupower to set the performance cpufreq governor, and requests a - cpu_dma_latency value of 1. It also sets busy_read and busy_poll times to - 50 us, and tcp_fastopen to 3. diff --git a/docs/system/options.rst b/docs/system/options.rst index 82ad4801..68f715c0 100644 --- a/docs/system/options.rst +++ b/docs/system/options.rst @@ -6,8 +6,9 @@ Options This chapter describe the possibilities of advanced system behavior. +******* General -####### +******* .. cfgcmd:: set system options beep-if-fully-booted @@ -21,8 +22,9 @@ General Automatically teboot system on kernel panic after 60 seconds. +*********** HTTP client -########### +*********** .. cfgcmd:: set system options http-client source-address
@@ -37,3 +39,37 @@ HTTP client .. note:: `source-address` and `source-interface` can not be used at the same time. +*********** +Performance +*********** + +As more and more routers run on Hypervisors, expecially with a :abbr:`NOS +(Network Operating System)` as VyOS, it makes fewer and fewer sense to use +static resource bindings like ``smp-affinity`` as present in VyOS 1.2 and +earlier to pin certain interrupt handlers to specific CPUs. + +We now utilize `tuned` for dynamic resource balancing based on profiles. + + .. seealso:: https://access.redhat.com/sites/default/files/attachments/201501-perf-brief-low-latency-tuning-rhel7-v2.1.pdf + +.. cfgcmd:: set system options performance < throughput | latency > + + Configure one of the predefined system performance profiles. + + * ``throughput``: A server profile focused on improving network throughput. + This profile favors performance over power savings by setting ``intel_pstate`` + and ``max_perf_pct=100`` and increasing kernel network buffer sizes. + + It enables transparent huge pages, and uses cpupower to set the performance + cpufreq governor. It also sets ``kernel.sched_min_granularity_ns`` to 10 us, + ``kernel.sched_wakeup_granularity_ns`` to 15 uss, and ``vm.dirty_ratio`` to + 40%. + + * ``latency``: A server profile focused on lowering network latency. + This profile favors performance over power savings by setting ``intel_pstate`` + and ``min_perf_pct=100``. + + It disables transparent huge pages, and automatic NUMA balancing. It also + uses cpupower to set the performance cpufreq governor, and requests a + cpu_dma_latency value of 1. It also sets busy_read and busy_poll times to + 50 us, and tcp_fastopen to 3. -- cgit v1.2.3