You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2023/05/16 18:17:44 UTC

[couchdb] branch main updated: Update default vm.args settings

This is an automated email from the ASF dual-hosted git repository.

vatamane pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/main by this push:
     new 6b4cbaa72 Update default vm.args settings
6b4cbaa72 is described below

commit 6b4cbaa72ab766e0a08c592971fb86be99a7d182
Author: Nick Vatamaniuc <va...@gmail.com>
AuthorDate: Mon May 15 18:57:01 2023 -0400

    Update default vm.args settings
    
     * Increase distribution buffer size from 1MB to 32MB. We've been using this
       value at Cloudant for years in all the clusters. RabbitMQ defaults to 128MB,
       which is even higher. This might speed busy clusters with lots of
       distribution traffic.
    
     * Add a commented out example of scheduling flags to use in a Docker or Kube
       environment with CFS quotas (advice taken from
       https://erlangforums.com/t/vm-tuning-guide/1945/3).
---
 rel/overlay/etc/vm.args | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/rel/overlay/etc/vm.args b/rel/overlay/etc/vm.args
index 174fba1c5..886bbb903 100644
--- a/rel/overlay/etc/vm.args
+++ b/rel/overlay/etc/vm.args
@@ -61,6 +61,18 @@
 # Dirty IO schedulers are used for file IO.
 +SDio 16
 
+# Increase distribution buffer size from default of 1MB to 32MB. The default is
+# usually a bit low on busy clusters. Has no effect for single-node setups.
+# The unit is in kilobytes.
++zdbbl 32768
+
+# When running on Docker, Kubernetes or an OS using CFS (Completely Fair
+# Scheduler) with CPU quota limits set, disable busy waiting for schedulers to
+# avoid busy waiting consuming too much of Erlang VM's CPU time-slice shares.
+#+sbwt none
+#+sbwtdcpu none
+#+sbwtdio none
+
 # Comment this line out to enable the interactive Erlang shell on startup
 +Bd -noinput