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
|