chore(docs): Update Performance documentation to include SDio Flag#5870
chore(docs): Update Performance documentation to include SDio Flag#5870Shubhang wants to merge 6 commits intoapache:mainfrom
Conversation
nickva
left a comment
There was a problem hiding this comment.
Great idea @Shubhang to update the docs. Thank you for your contribution.
I had a few corrections in a comment (the flag name) and a suggestion to improve it even better by removing the whole +A section and ERL_FLAGS and replace it with more current advice. What do you think?
| (or equivalent):: | ||
|
|
||
| export ERL_FLAGS="+Sdio 80" | ||
|
|
There was a problem hiding this comment.
+Sdio 80"
Note, the flag is +SDio ... (capital D) (double-check at https://www.erlang.org/doc/apps/erts/erl_cmd.html#emulator-flags)
I wonder since the +A advice doesn't apply any longer maybe we should mention the correct way of updating the value and to use vm.args https://github.com/apache/couchdb/blob/main/rel/overlay/etc/vm.args#L71-L73. Maybe at the end, as minor note, we could add that this used to be an +A and that it doesn't apply any longer, and that +A setting should be removed.
(suggestion)
...However, there is one option that can increase the responsiveness of your CouchDB server when disk performance is a bottleneck, and that is setting the number dirty IO schedulers for the Erlang VM.
The setting is
+SDio NwhereNis the number of dirty IO schedulers. CouchDB releases version 3.3.0 and higher set the value in thevm.argsfile as+SDio 16. Larger machines with more CPUs and faster disks could use a larger value like+SDio 80, for example.
These schedulers can also be configured by
ERL_FLAGSenvironment variable. For example, to give Erlang 80 dirty schedulers add the following to(prefix)/etc/defaults/couchdb(or equivalent)::
export ERL_FLAGS="+SDio 80"
...
That's just a suggestion, it can probably use better wording
Overview
Setting the
+Aflag currently doesn't do anything meaningful to the performance of CouchDB.Testing recommendations
Doc update
Related Issues or Pull Requests
Checklist
rel/overlay/etc/default.inisrc/docsfolder