Re: Process balancing on smp db server/apache web server - Mailing list pgsql-general

From Peter Darley
Subject Re: Process balancing on smp db server/apache web server
Date
Msg-id NNEAICKPNOGDBHNCEDCPMEPICIAA.pdarley@kinesis-cem.com
Whole thread Raw
In response to Re: Process balancing on smp db server/apache web serve  (Ron Snyder <snyder@roguewave.com>)
Responses Re: Process balancing on smp db server/apache web server  (Bruce Momjian <pgman@candle.pha.pa.us>)
List 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@roguewave.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@kinesis-cem.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@postgresql.org so that your
> message can get through to the mailing list cleanly
>


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: problems with pg_dump... with postmaster really
Next
From: Ron Snyder
Date:
Subject: Re: Process balancing on smp db server/apache web serve