Re: Process balancing on smp db server/apache web server

From: "Peter Darley" <pdarley(at)kinesis-cem(dot)com>
To: "Ron Snyder" <snyder(at)roguewave(dot)com>, "Pgsql-General" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Process balancing on smp db server/apache web server
Date: 2002-05-23 15:23:30
Message-ID: NNEAICKPNOGDBHNCEDCPMEPICIAA.pdarley@kinesis-cem.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Ron,
I thought I was talking about Linux, but may I'm mistaken on how smp works.
I was told that a process is run on one and only one CPU, and that there was
no mechanism to move the process to another CPU during execution. This
would mean that once a process was started on a CPU it would stay on that
CPU, even if it grew to a point that it would make since to switch it over
to another.
It looks like I was hoodwinked tho, as some research has lead me to the SMP
FAQ item 7:

7. Does Linux SMP support processor affinity?
Standard kernel
No and Yes. There is no way to force a process onto specific CPU's but the
linux scheduler has a processor bias for each process, which tends to keep
processes tied to a specific CPU.

This seems to be saying that what I was told was wrong, so, I apologize for
wasting the lists time.

Thanks,
Peter Darley

-----Original Message-----
From: Ron Snyder [mailto:snyder(at)roguewave(dot)com]
Sent: Thursday, May 23, 2002 7:41 AM
To: 'Peter Darley'; Pgsql-General
Subject: RE: [GENERAL] Process balancing on smp db server/apache web
server

What OS are you using that "assigns" a cpu to a process at start up? I
believe that all of our multiprocessor machines (Linux, Sun, HP, AIX, IRIX,
Dec^Wcompaq^WHP) will run a ready process on whatever cpu is available.

-ron

> -----Original Message-----
> From: Peter Darley [mailto:pdarley(at)kinesis-cem(dot)com]
> Sent: Thursday, May 23, 2002 6:56 AM
> To: Pgsql-General
> Subject: [GENERAL] Process balancing on smp db server/apache
> web server
>
>
> Friends,
> I have been thinking about my smp db server and how it
> interacts with my
> web server. I'm using mod_perl on Apache, which uses
> Apache::DBI to connect
> to the db server via a private network segment. It occurs to
> me that since
> the web server is connecting early (on startup), when there
> is probably no
> load on the db server, the cpu that each backend is assigned
> to will be
> largely random, or, if there is a large syslogd operation or
> something right
> at that time, it might even put the majority of backends on the same
> processor.
> When someone hits the web site it seems to me that
> there would be a greater
> than 50% chance that any two large queries from the web
> server would end up
> being run on the same processor. Similarly, if I start a
> large processing
> script that uses the db, since the web associated backends are already
> assigned to a processor, there's a good (~50%?) chance that
> any big queries
> that come in through the web will be on the loaded cpu.
> Does this make sense to anyone? If this is true, are
> there any suggestions
> about how I can keep my persistent connections from Apache,
> while getting
> the db server to balance the load more efficiently?
> Thanks,
> Peter Darley
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jason Earl 2002-05-23 15:35:12 Re: Stability, PR
Previous Message Wm. G. Urquhart 2002-05-23 15:19:25 Re: Violation of NOT NULL