Hello Heroku World - Autobenching Heroku
blog.evanweaver.com
blog.evanweaver.com
From what I understand: the more dyno you have, the less each dyno can do. Which is funny when you think about it, becuause your Heroku bill increases linearly with the number of dyno.
the "dumb" C impl can be faster too! it should probably fork() a few times so multiple accept()s can fight over the socket, which should probably be put into in non-blocking mode, and should also turn nagle off.
for even more points you can reduce the copying of the trivial response from userspace into the kernel using sendfile()/splice(), if you mlock() it into RAM first!
the printf likely reduces the throughput by a large amount too!
(I've spent far too much fiddling with various syscalls for synthetic benchmarks!)
Disqualified servers: (...) WSGIRef, I obtained a reply rate of 352 but it stopped reacting when we passed the 1900 RPS mark
Didn't know Jetty was this bad. Or perhaps there are configuration options that influence this?
The author concludes that Tomcat collapses, but in the 4 and 7 dynos scenarios there doesn't seem to be that much difference between Tomcat and Finagle (which the author says did ok), but perhaps I'm reading the graphs wrong?