title: Python web server options with nonblocking architecture
body: <p>I am looking for a Python based nonblocking web server environment that is designed to handle large number of simultaneous connections and be responsive under heavy load (<a href="http://www.kegel.com/c10k.html" rel="nofollow">C10K</a>). I need it as a backend for my webapp. In a typical scenario the webapp client will be making several calls to the server using WebSockets.</p>
  
  <p>So far I've found 2 options in python land.</p>
  
  <ul>
  <li><a href="http://www.tornadoweb.org/" rel="nofollow">TornadoWeb</a></li>
  <li><a href="http://twistedmatrix.com/trac/wiki" rel="nofollow">Twisted</a></li>
  </ul>
  
  <p>Outside python there is of course node.js, but I would prefer python coding environment if possible.</p>
  
  <p>Which one of the above two (or others that I don't know) would you recommend? What are pros-cons? Or should I roll my own framework by writing some non-blocking frontend for web.py?</p>
  
  <p>My concern is, although both the above projects seem to have good community support, they are not as mainstream as Django, CherryPy, Pylon etc. Therefore I am afraid of making a choice that may end up with poor support in future.</p>