[Twisted-Python] Twisted's ability to handle many open connections.
tcj25 at cam.ac.uk
Wed Apr 26 19:35:21 EDT 2006
Hi Matt. Thanks for your answer too.
>>>>> "Matt" == Matt Goodall <matt at pollenation.net> writes:
>> If that's the case, how does Twisted (portably) allow for a large number of
>> file descriptors?
Matt> As you recognised, Twisted uses a select loop so I'm not quite sure what
Matt> your question means.
You get to it below.
Matt> You will need to understand event driven programming to scale up,
Matt> otherwise you're likely to block the application from doing more than
Matt> one thing at a time (in the cooperatively multitasking sense) making
Matt> your application utterly unscalable.
I'm already a believer, no problem there.
Matt> Also, note that Twisted does not magic away other common problems
Matt> associated with scalability. The obvious one that springs to mind
Matt> (because it bit me recently :-/) is the maximum number of file
Matt> descriptors a non-root Linux process can open per process.
Right - that was what I was referring to originally. Sorry that wasn't
Matt> There is absolutely a 1-1 relationship between connections and file
Matt> descriptors but Deferred have nothing to do with it.
Matt> Hope it did help!
Yes. Plus, it's nice to see how quickly a mailing list reacts when you're
thinking of using a new product :-) Twisted has a bit of a reputation for
being obscure, but it looks much better to me than any alternative - at
least for serious networking tasks (not just serving web pages fished up of
the nearest database). I have high hopes.
Anyway, thanks again.
More information about the Twisted-Python