Hi Nick

Thanks a lot for the feedback. Much appreciated.

Thanks
Paul

On Wed, 24 Nov 2021 at 19:53, Nick Vatamaniuc <[email protected]> wrote:

> Hi Paul,
>
> I don't think there is a clustered CouchDB book out there, and you've
> probably already seen
> http://docs.couchdb.org/en/stable/maintenance/performance.html.
>
> The often overlooked aspect of performance tuning is that it starts
> with application design. Things like how indices are defined, using
> built-in reducers for map-reduce views, avoiding large document
> bodies, IDs and attachments, adjusting the sharding factor (Q) and so
> on. For that I can recommend this blog series
> https://blog.cloudant.com/
>
> In CouchDB 3.x there is an auto-index builder and an improved
> compactor. Sometimes it's necessary to adjust those as they might add
> unexpected load on the backend.
>
> On the hardware / operational side, like most databases, CouchDB uses
> fsync. So, make sure the IO layer can perform that operation well and
> that the file system is POSIX compliant (NTFS, for instance, isn't).
> On the networking side, make sure you have low latency and stable
> links between your nodes.
>
> In general, with larger Q values you'd benefit from more CPUs. If you
> throw more memory at your nodes, you can increase
>
> https://docs.couchdb.org/en/stable/maintenance/performance.html#max-dbs-open
> to make sure you cache more opened db handles.
>
> If you're feeling adventurous, you could try playing with compression
> options. Snappy is the default compression mechanism in CouchDB but at
> Cloudant we are using default_6 which is just the default erlang
> term_to_binary compression. So here you can see if changing it makes
> any difference.
>
> Some of the Erlang VM parameters can be tuned in the vm.args file.
> Here are some values I've seen used for larger clusters
>
> ```
> +K true
> +A32
> +zdbbl32768
> ```
>
> For these you can read general Erlang VM performance guides. If, by
> chance, you're running your DB in kube, take a look at
> https://adoptingerlang.org/docs/production/kubernetes/
>
> Cheers,
> -Nick
>
>
>
>
> On Tue, Nov 23, 2021 at 3:39 AM Paul Milner <[email protected]> wrote:
> >
> > Hello
> >
> > Can someone recommend a book or website that can help me to understand
> > optimising Couchdb and making it performant please?
> >
> > I've looked at Fabric, Erlang etc options, but would like to get an
> > overview and deep understanding of how it works.
> >
> > I've also been through the documentation, but feel this would help.
> >
> > Thanks a lot
> > Best regards
> > Paul
>

Reply via email to