Jason, I hope you don't mind me cc-ing the quixote list. But I've desperately searched the archive for an answer to this. Finally there, will be one now. Jason wrote: > Gerhard Haering wrote: >> >> Sure, threads can be quite a hassle. But an application server that >> canot handle more than one concurrent request doesn't sound like a >> good idea to me, either. For anything but low-profile and toy web >> projects, that's not acceptable. From the standpoint of the web >> framework user threading will happen transparently, anyway. > > This is factually inaccurate. Medusa can handle more than one request at > a time, it just uses asynchronous I/O and select to multiplex that > within a single thread. The question of whether this is a net > performance gain or loss is, like most performance questions, something > that usually comes down to: "it depends"; although it turns out to be a > win far more often than you might think. I know a little about the asynchronous model as I've studied Twisted lately. Still I suppose a Quixote request is processed in one go (Medusa/Twisted can't suspend the processing of one request to accept the next; doing so requires a callback-based API), so I'm not sure how using Medusa/Twisted had any advantage here over a plain stupid solution using Python's HTTPServer. >> My question was if SCGI for example uses threading internally or if >> I'm stuck with one (1) concurrent request when using SCGI as a Quixote >> backend? How about mod_python? >> >> Anybody can answer this, pleaaaase? > > SCGI uses fd passing to pass off the work to children processes (by > default a max. of 5). That's very good to know. Thank you for this information. -- Gerhard