[Tickets #4797] A large horde_vfs table can cause large memory usage during GC

bugs@bugs.horde.org bugs at bugs.horde.org
Mon Dec 18 08:07:38 PST 2006


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=4797
-----------------------------------------------------------------------
 Ticket             | 4797
 Created By         | sean at duke.edu
 Summary            | A large horde_vfs table can cause large memory usage during GC
 Queue              | Horde Base
 Version            | HEAD
 Type               | Bug
 State              | Unconfirmed
 Priority           | 2. Medium
 Owners             | 
-----------------------------------------------------------------------


sean at duke.edu (2006-12-18 08:07) wrote:

I'm running IMP using Horde VFS as the filestore for attachment uploads. 
I'm using MySQL as the Horde VFS backend.

When my horde_vfs table grew to 4GB in size, an apache process would grow
to almost 4GB in size when GC was run.  This caused quite a bit of
thrashing on boxes that only have 4GB of memory.

After looking at the code, when GC is run, with the SQL backend, it ends
up doing a select to load the whole table contents into memory.  This
presumably gets put into a buffer in the mysql libs before being loaded
into PHP, and thus before the PHP memory limit can take effect.

The unfortunate part is that all SQL needs for doing this cleanup is a
single DELETE statement, then the mysql server will do all the work.  As
such, I suggest allowing each Horde VFS backend have its own GC code.




More information about the bugs mailing list