I currently host with a company who allocates 150 MB of "active memory" for a dedicated Zope instance. We currently run about 5 low traffic sites (~30 visitors per day each) on this instance and Zope still seems to hang up or crash about once per day. The problem in the event.log is typically a "MemoryError" but it's so cryptic that I can't really seem to troubleshoot it. Fortunately it's automatically restarted for us but it's still quite troublesome. I don't feel like I should have to scale up to a dedicated server to handle 150 visitors a day, to say nothing of the hardware requirements that might exist when we move our larger sites into Zope / Plone.

The host uses Apache as a frontend for Zope and use mod_proxy and mod_rewrite + VirtualHostMonster to do virtual hosting. I'm wondering if it's the fact that ZServer still has to serve all our content that could be causing these MemoryErrors. Or if it's like something more instrinsic to Zope itself (or the ZODB). Does anyone have information about what kind of performance enhancements are accomplished using the Apache / FastCGI / Zope config as opposed to the Apache / proxy / rewrite / Zope config?

As you can probably tell, I'm new to Plone/Zope... it's a great product but I'm getting frustrated with all these crashes. I can't tell if it's a memory limit issue, the way our host has Zope configured, or just the kind of behavior I ought to expect from Zope considering it serves everything out of an object database.

Thanks so much!