Skip site navigation (1) Skip section navigation (2)

Re: PHP memory usage

From: "A Palmblad" <adampalmblad(at)yahoo(dot)ca>
To: "Robby Russell" <rrussell(at)commandprompt(dot)com>
Cc: <pgsql-php(at)postgresql(dot)org>
Subject: Re: PHP memory usage
Date: 2004-06-02 20:41:33
Message-ID: 007a01c448e1$fde018a0$97019696@AERS04 (view raw or flat)
Thread:
Lists: pgsql-php
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(at)commandprompt(dot)com>
To: "A Palmblad" <adampalmblad(at)yahoo(dot)ca>
Cc: <pgsql-php(at)postgresql(dot)org>
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(at)commandprompt(dot)com | Telephone: (503) 667.4564
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings


In response to

Responses

pgsql-php by date

Next:From: Robert TreatDate: 2004-06-02 21:45:59
Subject: Re: PHP memory usage
Previous:From: Robby RussellDate: 2004-06-02 20:17:51
Subject: Re: PHP memory usage

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group