Re: PHP memory usage - Mailing list pgsql-php
From | Robert Treat |
---|---|
Subject | Re: PHP memory usage |
Date | |
Msg-id | 200406041035.53198.xzilla@users.sourceforge.net Whole thread Raw |
In response to | Re: PHP memory usage (Christopher Kings-Lynne <chriskl@familyhealth.com.au>) |
List | pgsql-php |
And yet somehow the my$ql folks get a php function to do this... Robert Treat On Wednesday 02 June 2004 21:37, Christopher Kings-Lynne wrote: > 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 -- Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL