Here are my results from my test on our server (win2003)
Apache Win32) 1 dispatcher 6.73 req/s
Apache Win32) 2 dispatchers 12.9 req/s
Apache Win32) 4 dispatchers 19.85 req/s
Mongrel: 5.73 req/s
WEBrick: Under load: 5.1 req/s
WEBrick: No load (single user) 7.6 req/s
Comparison to Lighttpd on Linux (Debian 3.1)
Lighttpd (Linux) 1 dispatcher : 22.5 req/s
Lighttpd (Linux) 2 dispatchers: 22.68 req/s
Lighttpd (Linux) 4 dispatchers: 24.25 req/s
Test done with MS Web App Stress Tool, WAST3.0, httperf, and ab
20 users at a time, 5 iterations. (really light load.)
Based on that, Apache+FCGI is the best way to go if you have to use
(This test was against a simple list action… No pagination. Displaying
the results of a single select statement.
App uses file store for sessions.
Each request was a separate session.
MySQL 4.1 on Windows for the database
No special mysql.so usage due to problems with compatibility.
3 to 5 seconds TTLB (time to last byte)
If anyone has an idea as to why this is so slow on Windows, I’d love to
hear it. My theory is that Ruby itself is just slow on Windows. It takes
at least 10 times longer to open ‘irb’ on my windows box as it does on
my Linux box.