From: Markus Schaber <schabi@logix-tt.com>
To: Juan Casero (FL FLC) <Juan.Casero@wholefoods.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Sun Fire T2000 and PostgreSQL 8.1.3
Date: Thu, 06 Apr 2006 11:08:14 +0200
Message-ID: <4434DA7E.1030307@logix-tt.com> (raw)
In-Reply-To: <7583B3F1891CC0429FA4A44952AA539C66FA7E@wfm-exchprd2.wfm.pvt>
References: <7583B3F1891CC0429FA4A44952AA539C66FA7E@wfm-exchprd2.wfm.pvt>
Hi, Juan,
Juan Casero (FL FLC) wrote:
> Ok that is beginning to become clear to me. Now I need to determine if
> this server is worth the investment for us. Maybe it is not a speed
> daemon but to be honest the licensing costs of an SMP aware RDBMS is
> outside our budget. When postgresql starts does it start up a super
> server process and then forks copies of itself to handle incoming
> requests?
It starts a super server process (Postmaster) and some background
processes (background writer, stats collector). For each incoming
connection, the postmaster forks a single-threaded backend process,
which handles all queries and transactions on this connection, and
terminates when the connection terminates.
So as a thumb-rule, each connection can utilize only a single CPU. You
can utilize a few more CPUs than you have simultaneous connections, due
to the background processes and the OS needing CPU for I/O, but thats
rather marginal.
AFAIK, Bizgres MPP has extended the backend processes to be multi
threaded, so a single connection can utilize several CPUs for some types
of queries (large data sets, sorting/joining/hashing etc.). Btw, I
presume that they might offer you a free test license, and I also
presume their license fee is much lower than Oracle or DB/2.
> Or do I have to specify how many server processes should be
> started up?
You can limit the number of server processes by setting the maximum
connection limit.
> I figured maybe I can take advantage of the multiple cpu's
> on this system by starting up enough postgres server processes to handle
> large numbers of incoming connections. I have this server available for
> sixty days so I may as well explore the performance of postgresql on it.
Yes, you can take advantage if you have multiple clients (e. G. a wep
app, that's what the T2000 / Niagara were made for). You have a Tomcat
or Jboss sitting on it, each http connection forks its own thread. Each
customer has its own CPU :-)
Then use a connection pool to PostgreSQL, and you're fine. The more
customers, the more CPUs are utilized.
But beware, if you have floating point maths, it will be very slow. All
8 CPUs / 32 Threads share a single FPU. So if you need floating point
(e. G. Mapserver, PostGIS geoprocessing, Java2D chart drawing or
something), T2000 is not the right thing for you.
HTH,
Markus
--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf. | Software Development GIS
Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: schabi@logix-tt.com, Juan.Casero@wholefoods.com
Subject: Re: Sun Fire T2000 and PostgreSQL 8.1.3
In-Reply-To: <4434DA7E.1030307@logix-tt.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox