Re: PHP memory usage - Mailing list pgsql-php

From Christopher Kings-Lynne
Subject Re: PHP memory usage
Date
Msg-id 40BE80CD.4080308@familyhealth.com.au
Whole thread Raw
In response to Re: PHP memory usage  (Robert Treat <xzilla@users.sourceforge.net>)
Responses Re: PHP memory usage
List pgsql-php
The simple answer is the PHP's built-in memory checking cannot control
what a plugin .so does.  Use a cursor.

Chris

Robert Treat wrote:

> 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@commandprompt.com>
>>To: "A Palmblad" <adampalmblad@yahoo.ca>
>>Cc: <pgsql-php@postgresql.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@commandprompt.com | 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
>
>

pgsql-php by date:

Previous
From: "Chris"
Date:
Subject: Re: Question about checkboxes in forms
Next
From: Dave Page
Date:
Subject: Maintaining a transaction across multiple HTTP requests