Hello all,
After reading the documentation <https://docs.couchdb.org/en/2.2.0/cluster/sharding.html> and this thread I propose the following formula to document officially for determining the Q and N values. To start, as currently documented, N should be set to the number of nodes. This much is straightforward and is documented more or less correctly. For Q, it should equal the amount of cores at a minimum. So, for the cheapest Digital Ocean droplet, which 1GB of RAM and 1vCPU, Q should be set to 1 by the user. In the case that each core is sufficiently beefy, e.g. Intel Xeon or turbo clocked AMD EPYC 7000 2 should be added. 2 is an arbitrary value but reflects the reality that from what I can tell a dramatically higher clock speed benefits CouchDB performance AFAIK (I'm not sure if this benefit is a constant or a multiplier, but I doubt it is a multiplier simply due to the diminishing returns seen in increased clock speed). To summarize the following table can be used (for example): CPU Cores CPU Clock Speed Q Value 1 Low 1 2 Low 2 2 High 4 3 High 5 4 Low 4 Does anyone have any qualms with this as a general guide to give users in determining the Q value they should set for their CouchDB instance? If not I can submit a PR soon on this (have to figure out how to create a new reference for one that's currently open first). Tabeth ________________________________ From: Joan Touzet <woh...@apache.org> Sent: Thursday, July 11, 2019 11:17 AM To: dev@couchdb.apache.org Subject: Re: CouchDB and future On 2019-07-11 8:05, ermouth wrote: >> to help with the documentation step > > Probably. Please give me a hint what you need. What default settings right now are wrong for a system with low RAM, low CPU, and slow disk - such as a RaspberryPi v1, or a $15/mo AWS server? -Joan