On 19-Mar-04, at 9:08 AM, Shridhar Daithankar wrote:
> Bryan Encina wrote:
>> MySQL and Firebird use threads and Postgres forks. Forking is ok,
>> unless you have many database connections. The more connections the
>> more processes. I noticed while profiling an application that every
>> connection alone was taking over 1MB of memory. This based on the
>> process per connection gripe I have.
>
> Umm.. Notcied how much of that 1MB is shared?
Also, I'd expect that the amount of memory that a busy installation
should be devoting to caching I/O (whether done by the DBMS or the
kernel) will dwarf the amount of memory each backend has allocated
privately.
Assuming the kernel implements COW (which is reasonable, of course), I
don't think the overall difference in memory footprint should be very
significant -- or rather, if it is, it results from something other
than the choice between threads and fork().
-Neil