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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Treat | 2004-06-02 21:45:59 | Re: PHP memory usage |
Previous Message | Robby Russell | 2004-06-02 20:17:51 | Re: PHP memory usage |