Hi all I recently wrote a hello world HTTP app in Twisted, Cyclone, node, Go and Scala on the Play framework, and used a combination of ab and gattling to see how fast each was on an m1.small instance on Amazon EC2. I also tested it on bare metal (my laptop:)) but I'll get to that later.
The code I used for twisted was the web server code sample from the front page of twistedmatrix.com with the numberRequests increment dropped and a simple "Hello World!" returned instead. For cyclone I used the sample code from the cyclone docs with the same string being returned. Node was the sample from their front page. Play and Go I've never worked with before so those were copy pastes from various examples on their pages but again same URI and return string as the other frameworks. >From one m1.small to another, Go, Play and node were handling about 1.5k requests per second while Twisted and Cyclone were only handling 400-500 requests per second. On loopback from the same m1.small I suspect I was starting to load test the load testers more than the apps but locally all the frameworks were performing similarly. Load testing from another machine to my laptop I was seeing far better performance from Twisted and Cyclone, both doing closer to 2k requests per second. The other frameworks were only a little quicker but again, there's a chance the machine running the load tests was the bottle neck. These tests were very unscientifically done but I still wasn't expecting to see such a big difference between specifically node and Twisted. 500 req/sec is plenty quick for 90% of what I do and of course I know there's so much more to an application than returning hello world but I was wondering if I was missing some trick to speed Twisted up to get close to the others on EC2.
_______________________________________________ Twisted-Python mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
