Christopher Browne cbbrowne
Tue Nov 1 15:43:01 PST 2005
Philippe Ferreira wrote:

> Hi,    (Answering to my post)
>
> I've just realized that for my 50 databases, there is no other
> solution than to setup 50 distinct slony clusters.
>
> However, in my testbed, for one database and its replica (pgbench and
> pgbenchslave), I get 31 new
> processes when I start the two "slon" commands (15 processes for
> "pgbench", and 16 for "pgbenchslave") :
>
Some of it you are measuring multiple times...

1.  Each slon has multiple threads, generally 2 + number of nodes

Linux lists these in the process table, but there is truly only one process.

2.  Then there are database backends associated with the connections
opened by the various threads.

Those will be "real" processes :-(.  Happily, most of the memory will be
shared with other database backend processes, which means you are likely
overestimating how much memory they will truly consume.

But all being said, yes, if you have 50 databases, and hence 50
clusters, as well as the 50 replica databases, there will be rather a
lot of processes and connections.

Adding up what is expected...

1.  slon processes = 50 clusters x 2 nodes = 100 processes

There will be... hmmm...  I think... 4 threads apiece, so the process
table would report 400 slon processes

2.  Each of those threads will open at least one database connection. 
Those servicing subscriptions (there will be 50 of these) will open two
connections.

That would mean 450 connections, ergo 450 postmaster backends.

Unfortunately, yes, that will add up to rather a lot of processes :-(


More information about the Slony1-general mailing list