Re: Scalability - Mailing list pgsql-general

From Alexander Staubo
Subject Re: Scalability
Date
Msg-id F7141980-14FA-4A0D-9A84-10370C68846D@purefiction.net
Whole thread Raw
In response to Scalability  ("Bill" <postgresql@dbginc.com>)
List pgsql-general
On Oct 29, 2006, at 02:31 , Bill wrote:

> I was surprised to learn that PostgreSQL creates a new process for
> each
> connection. Doesn't this severely limit its scalability by consuming
> resources rapidly on the server as the number of user increases?

On Windows, yes; Win32 processes carry a not insignificant amount of
baggage with them, and you would probably want a connection pool
between your app and PostgreSQL in order to throttle the load.

PostgreSQL was designed and optimized for Unix, where processes are
lightweight, very fast to set up and come with added security
benefits such as protected address spaces. You will notice most
daemons follow this approach.

Some, like Apache 2.x, offer a hybrid approach with n threads
distributed over m processes. I suspect it would take a large
engineering effort to retrofit PostgreSQL to do this on Windows,
since a lot of PostgreSQL's internals probably aren't thread-safe,
but in theory it could work.

Alexander.


pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Scalability
Next
From: Robert Treat
Date:
Subject: Re: CUBE, ROLLUP, GROUPING SETS?