pubsub.py server memory usage and persistence using ZODB.
"Adam Rifkin" <[email protected]>
| Newsgroups | gmane.comp.web.mod-pubsub.devel |
|---|---|
| Message-ID | <[email protected]> |
Lately we've been seeing that a moderately-used Python PubSub Server
mod_pubsub/python_pubsub/pubsub.py
has been consuming more memory than we'd like. Joyce has seen it at
30-40% memory usage at times; bouncing the server helps some, especially
if the server is run with the event pool turned on (-f in the command line).
Still, it may be worth spending some time looking at replacements of
the persistence layer with something more efficient.
Several people have suggested the Z Object Database
http://www.amk.ca/zodb/zodb-zeo.html
so this is a heads-up to the developer list in case anyone has feedback.
Here are some comments I've gotten so far:
1. "ZODB is an easy to use choice. Its performance profile may not be ideal,
but it supports versioning and other features relevant to pubsub."
2. "So, the Z Object Database is very interesting and it would move what has
been a useful hack (the existing python server) into a useable server, at
least when it comes to how it archives events. That is a good thing. I
think there is a choice between storage types when using this DB. Either
the "tired kitty" (Sleepycat) BerkeleyDB or some native thing that
they've built. The last time I checked, they built the custom storage
layer to optimize for their specific case and avoid some of the pesky
aspects of real ACIDity. I could be wrong, I frequently am, its been a
while since I looked into it. My "vote" (if I get one) is for the python
server to use the Z Object Database and see where that leads the project."
3. "I'm a big Zope user, therefore a ZODB user, I'd say +1 from me :)"
Any other feedback? Will report anything I learn back to the list.
Adam
-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge