Re: Unwanted persisting connections

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Sun, 2005-11-20 at 20:06 -0800, Gary Hoffman wrote:
> I've run PHP and PostgreSQL for quite a while and never seen this problem
> before. I think it's new, but maybe I never paid attention to it before.
> 
> I am frequently running out of connections to the database. Here's a
> snippet of my ps -ax
> 
>  1882  ??  S      0:00.07 postgres: postgres cgssd_members [local] idle   
>     
>  1883  ??  S      0:00.09 postgres: postgres cgssd_members [local] idle   
>     
>  1884  ??  S      0:00.07 postgres: postgres cgssd_members [local] idle   
>     
>  1886  ??  S      0:00.14 postgres: postgres cgssd_members [local] idle   
>     
>  1887  ??  S      0:00.06 postgres: postgres cgssd_members [local] idle   
>     
>   500 std- S      0:01.14 /usr/local/bin/postmaster -D
> /usr/local/pgsql/data
>   501 std- S      0:00.02 postgres: stats buffer process                  
>     
>   502 std- S      0:00.21 postgres: stats collector process               
>     
> 
> As you can see, there are some idle connections that have come in from PHP
> on my web pages. I've never seen these before and eventually they build up
> and I get an error connecting from the PHP page to the database.
> 
> I'm running Apache 1.3.33 on Darwin Kernal 7.9.0 (MacOS X 10.3.9) with PHP
> 4.3.6 and PostgreSQL 7.4.2.

You will have as many of these as you have apache processes.  That's
what persistent connections means!

If you have MaxClients set to (e.g.) 150 in your Apache configuration,
and you actually get to something like that, then the default PostgreSQL
configuration of 100 clients simply won't be enough.  You should
increase it to at leas 20-50 more than the MaxClients setting that
Apache has.

You'll be pleased to know that each extra PostgreSQL connection
typically uses less than each additional Apache connection (especially
when you're running PHP et al.) so if you find yourself running out of
RAM you will need to lower the MaxClients setting first.

Regards,
					Andrew McMillan.

-------------------------------------------------------------------------
Andrew @ Catalyst .Net .NZ  Ltd,  PO Box 11-053, Manners St,  Wellington
WEB: http://catalyst.net.nz/            PHYS: Level 2, 150-154 Willis St
DDI: +64(4)803-2201      MOB: +64(272)DEBIAN      OFFICE: +64(4)499-2267
     You will be a winner today.  Pick a fight with a four-year-old.
-------------------------------------------------------------------------

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux