I'm not really sure how mod_rails / passenger works but it's producing some strange behavior for me.
I wrote a simple controller action that sleeps for 5 seconds before returning the current time. I then called that action from two different computers. It took 5 seconds for the first request to finish processing and 10 seconds for the second one. That is, the second request was blocked from executing until after the first one had been finished.
Why does this happen? When I call ps on the server, I see that several ruby and apache processes have been spawned. If the ruby process servicing the first request is busy, when I send the second request to the server, shouldn't it spawn or use a different process instead of waiting for the first one to finish?
-- Andrew