You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2020/01/08 02:35:51 UTC
[couchdb-documentation] branch rexi-docs created (now 5ab28fa)
This is an automated email from the ASF dual-hosted git repository.
kocolosk pushed a change to branch rexi-docs
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git.
at 5ab28fa Document rexi config settings
This branch includes the following new commits:
new 5ab28fa Document rexi config settings
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[couchdb-documentation] 01/01: Document rexi config settings
Posted by ko...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
kocolosk pushed a commit to branch rexi-docs
in repository https://gitbox.apache.org/repos/asf/couchdb-documentation.git
commit 5ab28fa6367455e5bf7c76c6d9bdf005e71cc810
Author: Adam Kocoloski <ko...@apache.org>
AuthorDate: Tue Jan 7 21:35:34 2020 -0500
Document rexi config settings
---
src/config/cluster.rst | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/src/config/cluster.rst b/src/config/cluster.rst
index ca229e5..5887597 100644
--- a/src/config/cluster.rst
+++ b/src/config/cluster.rst
@@ -85,3 +85,39 @@ Cluster Options
[cluster]
seedlist = couchdb@node1.example.com,couchdb@node2.example.com
+
+RPC Performance Tuning
+======================
+
+.. config:section:: rexi :: Internal RPC Tuning
+
+ CouchDB uses distributed Erlang to communicate between nodes in a cluster.
+ The ``rexi`` library provides an optimized RPC mechanism over this
+ communication channel. There are a few configuration knobs for this system,
+ although in general the defaults work well.
+
+ .. config:option:: buffer_count
+
+ The local RPC server will buffer messages if a remote node goes unavailable.
+ This flag determines how many messages will be buffered before the local
+ server starts dropping messages. Default value is ``2000``.
+
+ .. config:option:: server_per_node
+
+ Early versions of this RPC library used a single local Erlang process for
+ sending messages to all other nodes in a cluster. The current default is to
+ spawn a local gen_server process for each node in the cluster. It is not
+ recommended to change this setting from the default.
+
+ .. config:option:: stream_limit
+
+ .. versionadded:: 3.0
+
+ This flag comes into play during streaming operations like views and change
+ feeds. It controls how many messages a remote worker process can send to a
+ coordinator without waiting for an acknowledgement from the coordinator
+ process. If this value is too large the coordinator can become overwhelmed
+ by messages from the worker processes and actually deliver lower overall
+ throughput to the client. In CouchDB 2.x this value was hard-coded to
+ ``10``. In the 3.x series it is configurable and defaults to ``5``.
+ Databases with a high ``q`` value are especially sensitive to this setting.