I had big throughput problems with asyncore for non-trivial
applications. I was making an RSS aggregator and needed to pull in lots
of feeds at the same time to get the job done nearly as fast as
necessary. I found the overhead in parsing then storing the responses
caused my app to spend too long processing and not enough time reading
the buffer. The consequence was that there was lots of data waiting for
me on the socket which I couldn't read fast enough, causing the socket
to fill up and reject incoming packets. My throughput dropped to 25% of
my link bandwidth.

I re-implemented this app 4 times, and I concluded that:

asyncore: slow throughput
asynchat: slow throughput (same problem, hadn't worked it out until I
finished this one)
threaded: depressing locking issues - I now hate python's threading
preforked: fastest in both respects but least flexible. It's the
methodolgy I always use these days. My IPC is domain sockets. Chews
memory, cains cPickle, can't pass around SQLObjects.

I don't know if my experience applies to you, however bear in mind that
the most successful implementation of this kind of service has been
Apache, which is preforked or sometimes prethreaded.

-Rob

Arnar Birgisson wrote:
> I will most likely have a look at this soon. I have an upcoming
> project that includes a sort of BLF (busy-lamp-field) for an Asterisk
> PBX which would include phone extension status, employee presence and
> possibly some IM features. I'd like to test Comet instead of polling
> for updates.
> 
> Are you talking about using asyncore (which I don't know yet, will
> read up on it after this email :o) and this code from medusa instead
> of Twisted, or as a complement?
> 
> Anyways - any pointers would be well appreciated. :o)
> 
> Arnar
> 
> > 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---

Reply via email to