webpy performance comparison
Here is a bit of the performance information that I submitted to the web.py mailing list.
On a test machine, I get the following results with lighttpd, using fcgi with 3 processes each of ruby and python, with ab run over a nearly unused network:
ab -q -c 10 -n 1000
- static html file: Requests per second: 754.17 #/sec (mean)
- web.py hello world: Requests per second: 133.68 #/sec (mean)
- rails hello world: Requests per second: 36.91 #/sec (mean)
This seems to be expected. Rails does more, thus is a bit slower.
With ab -kq -c 10 -n 1000 (keepalives)
- static html file: Requests per second: 1074.01 #/sec (mean)
- web.py hello world: Requests per second: 140.34 #/sec (mean)
- rails hello world: ....
For some reason, rails with lighttpd was not working properly with keepalives. I have had issue with keepalives on lighttpd on occasion with php while running the 'ab' utility (ab uses http/1.0). This is more of an issue with 'ab' than what is being tested.
Note: This was just a quick test, and I didn't run the tests more than a few times each, and chose the median scores.
I am going to add some testing using scgi as well, to the above simple benchmarks. I will report back any findings.
Thanks to Nikos for pointing out This Link. I am sure it will come in handy.
Edit: Follow-up Article