Re: PHP memory usage

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



Interesting... I was just about to post a question regarding the differences 
between the functions mysql_query and mysql_unbuffered_query in regards to 
pg_query, but I guess this is the issue right here, and from what I can tell 
there is no php based way to work around it.     

Robert Treat

On Wednesday 02 June 2004 16:41, A Palmblad wrote:
> 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
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings

-- 
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL


[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