Hoping for guidance here…
We are running a Sinatra app under the the Glassfish gem. I have remote
processes that send it requests every 10 seconds - so in a given minute
see 6 requests per remote process. It takes < .5 second to handle these
As the remote processes go up, the app starts crawling. I find that with
merely 5 remote processes connecting, the log shows them being processed
every 23 seconds, not 10!
If I up the jruby-runtime-pools to a min/max of 5 or so, everything
fine again with the requests being processed at their incoming rate of
I don’t understand why these very quick requests are processed so
would hope we could handle hundreds of such devices (without resorting
giant jruby-runtime-pool values).
How might I debug this? Jconsole shows nothing close to max capacity
rising toward it). It appears that everything from rack down is snappy,
the requests themselves appear ‘queued’ in some way. Maybe I should try
glassfish server instead of the gem?