Linux cloth 2.6.24-24-generic #1 SMP Wed Apr 15 15:54:25 UTC 2009
i686 GNU/Linux
I followed the instructions on tornado's website and used their script
import tornado.httpserver import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") application = tornado.web.Application([ (r"/", MainHandler), ]) if __name__ == "__main__": http_server = tornado.httpserver.HTTPServer(application) http_server.listen(8888) tornado.ioloop.IOLoop.instance().start()
Unfortunately when I started Tornado it said it couldn't use the epoll() backend and used select() instead. This negatively affects the results, so take the benchmark with a grain of salt.
tornado node thin 30859 40022 40569 tornado Min. 1st Qu. Median Mean 3rd Qu. Max. 14.00 28.00 28.00 28.58 28.00 69.00 node Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 12.00 20.00 21.91 29.00 176.00 thin Min. 1st Qu. Median Mean 3rd Qu. Max. 10.00 17.00 19.00 21.59 21.00 191.00
tornado node thin 17643 24348 22178 tornado Min. 1st Qu. Median Mean 3rd Qu. Max. 1.000 1.000 1.000 1.028 1.000 12.000 node Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0000 0.0000 1.0000 0.7182 1.0000 220.0000 thin Min. 1st Qu. Median Mean 3rd Qu. Max. 1.000 1.000 1.000 1.124 1.000 548.000(didn't bother to make graphs)
tornado node thin 31825 39732 38424 tornado Min. 1st Qu. Median Mean 3rd Qu. Max. 99.0 200.0 244.0 280.2 276.0 6362.0 node Min. 1st Qu. Median Mean 3rd Qu. Max. 9.0 59.0 100.0 219.4 142.0 12200.0 thin Min. 1st Qu. Median Mean 3rd Qu. Max. 63.0 83.0 86.0 177.1 91.0 24080.0