views:

175

answers:

1

Hi, I need to create a comet server.

What webserver + modules do I have to use ?

+3  A: 
Here's a short list of COMET solution I tried, with pros and cons:

  • Python Twisted: Non-blocking server based on Python. Unfortunately, "eats" a lot of CPU and doesn't scale very good;
  • Jetty: Very good, if you doesn't need to serve more than 10k clients simultaneously. Jetty consumes ~2GB memory per 10k active users;
  • Apache Tomcat: The same problems as with Jetty - eats lots of memory;
  • Apache Mina: NIO framework (non-blocking IO). Is not documented very well, and has problems with scaling;
  • JBoss Netty: NIO framework based on Apache Mina. Has a weak documentation, as well, but shows the best performance compared to aforementioned solutions. With Netty you can serve ~100k connections at a time, consuming several gigabytes of memory and using ~20% CPU (4-core);


So I strongly recommend you glancing over Netty.

Vasil Remeniuk