Re: PHP memory usage

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



I watch Postgres while its doing the query - and the postmaster is not the
culprit for memory usage.  It looks to me like PHP's postgres driver is
loading the entire result into memory when I do a query.  That is, the
postgres process stays within the memory its config tells it to use, while a
PHP script will eat as much as it can to load the result set.  Although I
would think best practices would dictate the use of a cursor or some limit
statements, I was also trying to get at whether or not a PHP extension
<i>should</i> be able to use as much RAM as it wants.

-Adam
----- Original Message ----- 
From: "Robby Russell" <rrussell@xxxxxxxxxxxxxxxxx>
To: "A Palmblad" <adampalmblad@xxxxxxxx>
Cc: <pgsql-php@xxxxxxxxxxxxxx>
Sent: Wednesday, June 02, 2004 1:17 PM
Subject: Re: [PHP] PHP memory usage


> A Palmblad typed this on 05/31/2004 02:22 PM:
> > We've been running into some issues with PHP and Postgres, and memory
usage.
> > On a dual athlon 64, w/ 4 gigs of RAM, PHP 4.3.6, and Postgres 7.4.2
I've
> > seen our server start to crawl after some queries returning very large
> > result sets.  Although large result sets aren't exactly what we want to
be
> > dealing with, I really want to avoid a situation where a user could
disrupt
> > our server with certain options to some searches.
> >
> > I did a quick commandline test, and it looks like PHP starts to eat
memory
> > during its call to pg_query.  By eat memory, I mean use memory well in
> > excess of php.ini's memory_limit of 8 megs.  (I stop it around 90% of
> > available memory usage)  Is this acceptable behaviour, or should I
report it
> > to PHP as a bug?  If not, are my only solutions to wrap my selects in
> > cursors and/or to use limit?
> >
> > -Adam Palmblad
> >
>
> I am going to take a quick guess and suggest that test those queries in
> psql itself. You might be running into some issues with your queries.
>
>
> Test your queries with psql, EXPLAIN.
> \h EXPLAIN
>
> -Robby
>
> -- 
> Robby Russell,  |  Sr. Administrator / Lead Programmer
> Command Prompt, Inc.   |  http://www.commandprompt.com
> rrussell@xxxxxxxxxxxxxxxxx | Telephone: (503) 667.4564
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings



[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