Jruby webservers for Rails

Hi,
I am new to Jruby.
Until now, I couldn’t get jruby to work with any web server besides
WEBrick.

thin, apache/nginx (with passenger), litespeed (ruby-lsapi), lighttpd
(with fcgi), webroar… all of them do not work coz Jruby can’t build
gem native extensions.

What are the web servers that Jruby can deploy Rails?

regards

Take a look at warbler.

u can package your app as a war file and deploy on any java servlet
server: jetty, tomcat, etc.

Tommy C.
Programmer and UC Irvine Graduate Student
Twitter @tommychheng

On 5/9/10 3:06 PM, Bruno S. wrote:

regards


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email

You can also use the ‘glassfish’ gem, the ‘mongrel’ gem, GlassfishV3
without a WAR file, or any java application server (after packaging
with the ‘warbler’ gem)

]$ jruby -S gem install glassfish
]$ glassfish -e development

On Mon, May 10, 2010 at 2:39 AM, Tommy C. [email protected]
wrote:


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email

Has anyone tried TorqueBox?

On May 9, 2010, at 7:07 PM, Kyle W. wrote:

Take a look at warbler.

build


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email

has anyone published a performance analysis of these? I would love if
someone built a rails or other ruby app and load tested it under all
these
app servers/containers to understand the perf under different
concurrency/thread levels (even across varying complex controller
methods
like 1 that hit DB, 1 hit DB + Cache, 1 XML render, 1 JSON, etc)

Anyone up for a web/app/container bake off ?

Why does thin, webroar
build gem native extensions to get installed by ruby 1.8 or 1.9 ??
Does rubygems downloads a source and then they are compiled to be
executable by ruby interpreter?

If so, why does Jruby can’t build native C libraries for those gems?
“Many Gems will work fine in JRuby; however, some Gems build native C
libraries as part of their install process. These Gems will not work in
JRuby unless the Gem has also provided a Java equivalent to the native
library.”
in http://kenai.com/projects/jruby/pages/GettingStarted

AD: I am working on a really large set of tests around Ruby on Rails
deployment in order to find out the best performance of it.
It involves: jruby, ruby1.8, ruby1.9, ruby enterprise, rubinius,
mongrel, thin, apache, nginx, passenger, load balancing solution etc
I need to find the perfect RoR application and benchmark software for
that. If you have a clue, please contact me.

AD wrote:

has anyone published a performance analysis of these? I would love if
someone built a rails or other ruby app and load tested it under all
these
app servers/containers to understand the perf under different
concurrency/thread levels (even across varying complex controller
methods
like 1 that hit DB, 1 hit DB + Cache, 1 XML render, 1 JSON, etc)

Anyone up for a web/app/container bake off ?

I recently published a review of the various alternatives available to
JRuby
users on InfoQ:

On Sun, May 9, 2010 at 6:06 PM, Bruno S. [email protected]
wrote:


Paul B.
[email protected]

Cyrus Innovation LLC
200 Varick, Suite 902
New York, NY 10014
phone: (212) 647-7186
fax: (212) 591-6043
http://cyrusinnovation.com


Cyrus ranked #231 on the Inc 500 fastest growing companies:
http://www.marketwire.com/press-release/Cyrus-Innovation-Llc-1029552.html

Bruno,

For benchmarking i would say apache benchmark (ab) or httpperf seem to
the
the simplest out of the box for throwing concurrency and max connections
at
an http connection and measuring output. There are more advanced tools
like
JMeter that will throttle but that may be a bit much for what you are
trying
to accomplish. I think it could be as simple as

ab -c 10 -n 1000 http://myserver.com:8080/app/controller/method1

where -c is the number of concurrent threads and -n is the total number
of
requests. The above statement would run 100 loops where each loop
launched
10 concurrent threads of requests at the /method1 call

I am very interested in seeing the results so let me know if you need a
hand
putting the test together, I would be happy to help.

Adam

I would love to hear more about your findings. I’m sure almost all
these servers can be improved (perf-wise) and we still haven’t really
crowned a “one true server” since they all serve different needs.

One thing to note about using “ab” for benchmarking: it doesn’t
maintain a session, so hitting a session-aware request will re-spawn a
new session for each hit. If you need to do that, you’ll want to look
at something like httperf for benchmarking.

I’d also recommend running the benchmarks from a separate machine when
possible, so they don’t choke the actual server process too much.

On Tue, May 11, 2010 at 4:50 PM, Bruno S. [email protected]
wrote:

ab -c 10 -n 1000 http://myserver.com:8080/app/controller/method1


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email

Adam, currently I am using apache benchmark.
Can I have your email address in order to discuss more things about
this?
Or just send me a message: brgsousa at gmail dot com

Regards,
Bruno

AD wrote:

Bruno,

For benchmarking i would say apache benchmark (ab) or httpperf seem to
the
the simplest out of the box for throwing concurrency and max connections
at
an http connection and measuring output. There are more advanced tools
like
JMeter that will throttle but that may be a bit much for what you are
trying
to accomplish. I think it could be as simple as

ab -c 10 -n 1000 http://myserver.com:8080/app/controller/method1

where -c is the number of concurrent threads and -n is the total number
of
requests. The above statement would run 100 loops where each loop
launched
10 concurrent threads of requests at the /method1 call

I am very interested in seeing the results so let me know if you need a
hand
putting the test together, I would be happy to help.

Adam

Charles, I looked everywhere for a complete batch of tests like this.
But didn’t succeded. That’s why I’m running my own tests in order to
analyze those RoR web servers.

Do you think there is a lack of those kind of benchmarking too?

Charles Nutter wrote:

I would love to hear more about your findings. I’m sure almost all
these servers can be improved (perf-wise) and we still haven’t really
crowned a “one true server” since they all serve different needs.

One thing to note about using “ab” for benchmarking: it doesn’t
maintain a session, so hitting a session-aware request will re-spawn a
new session for each hit. If you need to do that, you’ll want to look
at something like httperf for benchmarking.

I’d also recommend running the benchmarks from a separate machine when
possible, so they don’t choke the actual server process too much.

On Tue, May 11, 2010 at 4:50 PM, Bruno S. [email protected]
wrote:

ab -c 10 -n 1000 http://myserver.com:8080/app/controller/method1


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email