Performance tweaks in database-per-user scenario

2 views
Skip to first unread message

Tarik Hrnjica

unread,
Sep 20, 2022, 8:45:04 AM9/20/22
to us...@couchdb.apache.org
Hi everyone,


we use the database-per-user pattern in a mobile-centric environment. Each database is replicated to one or more end-user devices, and possibly also to other users' databases (collaborative editing). This has been working well until we recently started to experience severe performance drops during replication tasks.


Could you provide some guidance on how to optimize CouchDB for many, highly replicated databases? I'm looking for general recommendations on which configuration options we can tweak before scaling horizontally.


Kind regards,


Tarik

Hoël Iris

unread,
Sep 20, 2022, 9:06:41 AM9/20/22
to us...@couchdb.apache.org
I do the following:

- default q and n
- high [couchdb].max_dbs_open (and high system ulimit)
- [couchdb].update_lru_on_read = false (I’m not sure about this one)
- [replicator].use_checkpoints = false (I’m not sure about this one too)
- Low compaction parameters: [smoosh.ratio_dbs].min_size = 131072,
[smoosh.ratio_views].min_size
= 131072, [smoosh.slack_dbs].min_size = 131072,
[smoosh.slack_views].min_size
= 131072
- SSD with high IO per second

Willem van der Westhuizen

unread,
Sep 20, 2022, 10:45:53 AM9/20/22
to us...@couchdb.apache.org, Hoël Iris
Thank you for this. Please indicate how high max_dbs_open is? Do you use
clouseau as well?
Reply all
Reply to author
Forward
0 new messages