On 05/06/2011 02:14 PM, Jim Fulton wrote:
>> It sounds like you primarily need a bigger and faster cache. If you
>> want to make minimal changes to your setup, try increasing the size of
>> your ZEO cache and store the ZEO cache on either a RAM disk (try mount
>> -t tmpfs none /some/path) or a solid state disk. Remember that seek
>> time is 5-10 ms with spinning drives, so putting a ZEO cache on a
>> spinning drive can actually kill performance.
> If this on Linux and you have enough RAM, the data should be in the
> disk cache anyway, so I don't see any benefit to a RAM disk.
If there is memory pressure then Linux will evict some of the cache from
RAM, causing the ZEO cache to be much slower than the ZEO server. I've
seen that happen often.
"mount -t tmpfs" is an easy solution that has been available widely for
a long time now. You can even allow non-root users to do it by changing
/etc/fstab. If you're really lazy, you can just put your ZEO cache in
/dev/shm (which should always be a RAM disk).
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org