couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randall Leeds <randall.le...@gmail.com>
Subject Re: Trying to get 5000+ databases replicating, no success thus far.
Date Fri, 16 Jul 2010 00:02:20 GMT
You will want to set max_connections even higher.
If you look in the [replicator] section of the ini you'll notice that
each replication can use up to 10 connections plus the changes feed,
so try bumping max_connections beyond 55,000.

Finally, what system are you running this on?
For example, on CentOS, the daemon function comes from
/etc/rc.d/init.d/functions and it will call "runuser" to switch to the
couchdb user and pass a "-" in the call, which creates a login shell.

runuser is much like su. From `info su`:
`-'
`-l'
`--login'
     Make the shell a login shell.  This means the following.  Unset all
     environment variables except `TERM', `HOME', and `SHELL' (which
     are set as described above), and `USER' and `LOGNAME' (which are
     set, even for the super-user, as described above), and set `PATH'
     to a compiled-in default value.  Change to USER's home directory.
     Prepend `-' to the shell's name, intended to make it read its
     login startup file(s).  Additionaly `DISPLAY' and `XAUTHORITY'
     environment variables are preserved as well for PAM functionality.

However, couch still needs to be started from a directory where it can
run "find", i.e. a directory it has permission to read and a non-login
shell won't switch to the users home directory.

Here's a snippet of my CentOS init script:

cd $(eval echo ~$COUCHDB_USER)
su $COUCHD_USER -c "$exec \
   -r $COUCHDB_RESPAWN_TIMEOUT \
   ....

Could this be your issue?

-Randall

On Thu, Jul 15, 2010 at 16:41, Chris Stockton <chrisstocktonaz@gmail.com> wrote:
> Hello,
>
> On Thu, Jul 15, 2010 at 4:27 PM, Robert Dionne
> <dionne@dionne-associates.com> wrote:
>> I've seen this message before when using mnesia, the default for ets tables is 1400.
You might try setting the environment variable:
>>
>> ERL_MAX_ETS_TABLES
>>
>> to something higher
>>>
>>> These exist in my couchdb init script:
>>> ulimit -n 1000000
>>> export ERL_MAX_PORTS=100000
>>> export ERL_MAX_ETS_TABLES=10000
>
> Thank you Dionne, I actually have "export ERL_MAX_ETS_TABLES=10000"
> currently inside my init script. I am under the impression this is
> properly being read when couch starts, but maybe I need to pass them
> as flags to couchdb binary in my daemon command?
>
> -Chris
>

Mime
View raw message